由于工作需要,需要将MSSQL数据库中的信息移植到MySQL当中。在网上查了很多资料,大多说得比较简略,一般都是通过odbc来进行转换,然后根据出错信息对表进行修改。最初,也尝试了这种办法,发现MSSQL的提示信息很少,而错误却很多,所以这种办法并不可行。后来又尝试MySQL 官方提供的MySQL Migration Toolkit工具和SQLWays,发现Migration Toolkit中只要是含中文的信息都不能被移植,而SQLWays虽然可以移植中文,但是由于功能限制,所有表中的字段都只能有7个字母,这样并不能满足要求。经过自己的努力,终于将数据库移植成功。
具体的方法如下
1.首先用MySQL Migration Toolkit进行数据库的移植,这里只移植表的结构。只要选择了原数据库(MSSQL)和目标数据库(MySQL)然后根据提示进行选择和点击next就可以了。值得注意的是在编码处要选择自定义的gb2312编码,如图所示:
http://lizhilin.myrice.com/project/t1.jpg
http://lizhilin.myrice.com/project/t2.jpg 2.通过SQLWays移植表中的数据.大体步骤也是选择原数据库和目标数据库后一路next就可以了。当读取完MSSQL中的信息后,再选择import就可以进行导入了。由于MySQL数据库中已经存在了对应的表,所以SQLWays会在移植过程中提示创建表和字段失败,不过数据还是会被移植的,这样就绕开了7字节限制,也正是我想要的结果。需要注意的是,SQLWays需要对数据源进行配置,所以还需要MySQL的ODBC包,并且在数据源中配置MSSQL和MySQL即可。 3.还有一点需要注意,由于两个数据库之间表的命名方式不同,所以在Migration Toolkit完成结构的一之后MySQL中的数据库会被命名为mytable.dbo(MSSQL中为mytable),如果想要命名为mytable,还需要进行一部操作:新建一个数据库命名为mytable,然后将mytable.dbo的结构拷贝到mytable中,然后删除mytable.dbo就可以了,这一步可以通过第三方GUI完成,比如EMS SQL Manager for MySQL等。 至此,两个数据库就完成了移植,希望本文对那些有相同需求的朋友有所帮助。
具体的方法如下
1.首先用MySQL Migration Toolkit进行数据库的移植,这里只移植表的结构。只要选择了原数据库(MSSQL)和目标数据库(MySQL)然后根据提示进行选择和点击next就可以了。值得注意的是在编码处要选择自定义的gb2312编码,如图所示:
http://lizhilin.myrice.com/project/t1.jpg
http://lizhilin.myrice.com/project/t2.jpg 2.通过SQLWays移植表中的数据.大体步骤也是选择原数据库和目标数据库后一路next就可以了。当读取完MSSQL中的信息后,再选择import就可以进行导入了。由于MySQL数据库中已经存在了对应的表,所以SQLWays会在移植过程中提示创建表和字段失败,不过数据还是会被移植的,这样就绕开了7字节限制,也正是我想要的结果。需要注意的是,SQLWays需要对数据源进行配置,所以还需要MySQL的ODBC包,并且在数据源中配置MSSQL和MySQL即可。 3.还有一点需要注意,由于两个数据库之间表的命名方式不同,所以在Migration Toolkit完成结构的一之后MySQL中的数据库会被命名为mytable.dbo(MSSQL中为mytable),如果想要命名为mytable,还需要进行一部操作:新建一个数据库命名为mytable,然后将mytable.dbo的结构拷贝到mytable中,然后删除mytable.dbo就可以了,这一步可以通过第三方GUI完成,比如EMS SQL Manager for MySQL等。 至此,两个数据库就完成了移植,希望本文对那些有相同需求的朋友有所帮助。
解决方案 »
- QT+MySQL SELECT得不到结果
- MySQL、
- MYSQL查询问题
- 多mysql 自动选择 以及数据库 同步
- 请问:table1表中的number记录了table2中的记录数,当table2加删记录时, 怎样用SQL语句更新这个number
- 数据库界面的问题
- MYSQL环境变量如何设置?
- 查询项目表里,某个用户可以审批的项目,该怎么写脚本?
- 请教关于动态sql在并发场景下的安全性
- 新手求解 为啥派生起名报错
- 如何导出mysql的数据到sql server 或access???是新网的mysql空间
- [原创] 让 MySQL 4.0.x 或 5.1.x 的全文检索(全文索引)支持中文及简易分词
sqlways 会在导入以前让你确认开始...
可以先不确认开始..
手工修改相应表名和字段名称为需要的内容..再让sqlways运行导入..也可以到达相同效果..
只是累啊
不行的
只有表中的字段名不超过7位的时候才好使
要不然就提示这样的错
数据就导不进去了