工作需要把mssql里的数据迁移到mysql中,遍寻各种方法进行尝试,终究不是很完美,有的是中文字符无法迁移、有的是字段数据太长,无法全部导入到新数据库中,这里也仅记录下来所使用的方法,如果有谁的方法很完美的,敬请相告于我。
方法一(此方法对字段长度有限制):
先用Navicat Premium 软件连接mssql数据库 ,把数据导出保存为.mdb格式,再用Access2MySQL Pro 软件把mdb导入mysql,这种方法对中文字符支持很好。
Navicat Premium 该软件功能很强大,支持多种数据库的链接,既可以象mssql2mysql一样把数据库直接传输到mysql数据库中,也可以把数据库转存为sql文件或者其它数据库所支持的文件格式。
此方法原理和方法二的一样,甚至更灵活,方法二仅供参考。
方法二、此方法转载于http://www.cnblogs.com/zengen/archive/2010/12/20/1911112.html
我们使用两个比较常用的工具。
MySQLMigrationToolkit 注:如果导入数据中包含中文信息将无法转移成功
SQLways 注:可以导入中文,但是对表中字段长度有限制。
1. 使用MySQLMigrationToolkit中的MSSQL TO MYSQL将数据库结构进行转移
2. 使用SQLways将数据进行转移
由于本人实际工作环境中MsSql中存储的都是英文数据,故没有实际去验证在此种环境下进行数据转移,仅使用MySQLMigrationToolkit中的MSSQL TO MYSQL进行数据转移,可以直接移动到mysql数据库中,也可以转存储为sql文件,下面为截图:
到此,数据就开始导入了,导入的速度不是很快,如果数据量大,那就慢慢等吧!
注:数据导完之后,你会发现原有的主外键关系都丢掉了,这里你得重新建主外键关系,至于存储过程的转移就简单了,MySql与MsSql语法差不多,自己改改就OK了,SQLways中提供了SQL语句转换工具。