解决方案
1. 利用Navicat 15 for MySQL从SQL Server同步到mysql
步骤1:打开Navicat 15 for MySQL,最好在MySQL中新建一个和要导SQL server数据库一样名字的数据库,当然不一样也可以。
步骤2:择数据库,点击导入向导
步骤3:选择ODBC,然后点下一步
步骤4:选择数据源,点开导入项
步骤5:选择SQL server,点下一步
如果报错
点击三个小点
步骤6填入连接所需要的信息,其中第一个填的是你SQL server所在的IP地址(同一局域网内)。填完信息后测试连接,成功后点击确定。
PS:如果出现连接失败或者拒绝连接的情况,一定要记得关掉两边的防火墙!!
填入配置信息,注意,一定要勾选允许保存密码,没勾点确定后会出现下面错误
步骤7 选择要导入的表,点击下一步
步骤8 一般来说没有啥要修改的话就一直下一步
步骤9 点击开始导入数据
步骤10 保存
步骤11 检查
2.利用xorm-reverse工具生成数据库表结构
xorm-reverse安装
按照上述步骤,生成models文件夹,也便知道了数据库有哪些表与字段
3.构建用于存储每个表的最新ID数据库
进入mysql
,创建表记录表record
table_name
是要记录的表的名称,last_id
从sql server
取到数据的最后一个id
$ mysql -h 10.0.0.0 -P 3306 -u wzz -p
CREATE TABLE IF NOT EXISTS `record`(
`id` INT UNSIGNED AUTO_INCREMENT,
`table_name` VARCHAR(100) NOT NULL,
`last_id` bigint(20) NOT NULL,
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `record` (`table_name`, `last_id`, `created_at`, `updated_at`) VALUES ('users', '0', '2021-05-25 17:29:34', '2020-05-25 17:29:34');
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。