前言
之前使用过mss2sql工具进行转换,虽然操作简单,但是转换有几个问题,其中最不能接受的是decimal精确度问题,sqlserver是decimal(12,2),转换成mysql变成decimal(14,2),无奈只能弃用。
换用sqlyog后问题解决,效率也变快了,缺点是操作步骤繁多。
直接开干
1、打开sqlyog,连接mysql。首先创建目标数据库:create database salary。右键->import external data...
2、选择start a new job ,下一步。
3、选择Any ODBC Source,然后点击Create a New DSN...,下一步。
4、选择用户数据源,下一步。
5、选择SQL Server,下一步。
6、随便写一个名称。服务器可指定本机或其他服务器ip。
7、使用windows验证,或者数据库用户密码登陆。
8、勾选更改默认的数据库,选择要转换的源数据库salary。下一步。
9、直接点成完成。
10、选择步骤6创建的数据源名称,输入用户和密码。下一步。
11、选择要导入的目标库,下一步。
12、下一步。
13,注意不要点select all,手动选择要导入的几个表,点击Map,核对一下字段类型(重点检查money、datetime、decimal、varchar、numeric),sqlyog会把datetime自动转成timestamp,varchar(1000)转成text,需手动改一下。下一步。
说明:sqlyog只能把sqlserver的表和索引主键,导入到mysql表中。其他的比如视图、存储过程、同义词都不支持,需通过sql手动创建。
14、下一步。
15、下一步。
16、提示Successful,且没有error信息,说明转换成功。6W多条数据耗时93s,效率也是杠杠的。