需求说明
java项目中,ORM框架使用的MySQL数据库,但是由于业务扩展,想跟换数据库为SQLService,所以需要找到一种能快速将MySQL语句装换为SQLService支持的语句,并实行项目数据库代码的奎苏迁移。
用到的内容
完整的MySQL环境 | 携带基本的原始数据库 |
完整的SQLService 环境 | 携带基本的原始数据库 |
SQLService Management Studio | 用于连接SQLService数据库,常见数据库相关 |
MySQL插件MySQL ODBC Connector | 下载http://dev.mysql.com/downloads/connector |
实战演示
存在MySql数据库,名称为 *pear-admin-pro
在MSqlService中新建空白数据数据库,名称为:Plumeria(该步骤不再演示)
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
-
下载MySQL ODBC Connector并安装 ,安装完成后可以在控制面板中找到;
-
配置数据源 ;
找到自己MySql版本对应的驱动,本人安装的是8.0的版本,使用 64 位 MYSQL ODBC 8.0 ANSI Driver
接下来就是选择户数据库、填写密码相关的操作 。到此处算是配置完成。
- 使用 **SQLService Management studio ** 连接MySQL数据库;
-- 使用JDBC驱动连接到MySQL数据库:在服务对选哪个里面可以找到
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 8.00.33.00 ANSI Driver}; SERVER=127.0.0.1;3306
DATABASE=pear-admin-pro; USER=root; PASSWORD=123456; OPTION=3'
执行成功之后,可在SQLService Management studio中看到已经能连上对应的数据库
此时执行如下语句,对数据库脚本、数据进行迁移
-- 使用如下语句,可以将MySQL语句导入到创建好的SQLservice数据库中
SELECT * INTO [Plumeria].dbo.qrtz_blob_triggers
FROM openquery(MYSQL, 'SELECT * FROM myadmin.qrtz_blob_triggers')
此处:[Plumeria] 为SQLService的数据库名 .dbo.qrtz_blob_triggers 为你迁移时新建表的名词
SELECT * FROM myadmin.qrtz_blob_triggers
此处为 myadmin.qrtz_blob_triggers 对应MySql中的数据库名和标明
此处用的 myadmin数据库名称,而不是最原始的文档开头写的 pear-admin-pro 原因是在尝试的过程中发现有问题,该执行语句解析 中间短线会出现找不到数据库的报错提示,最终解决该问题可能会将原始数据库的名称 替换为不包含短线的数据库,基本也能绕开该问题。
以上语句,只能一张表一张表的进行迁移、转换。
最终结果:在SQLService中能找到刚刚迁移完成的数据库,之后只需要自行创建索引,即完成。
以上为个人实践记录
学习原文: link.