由于工作需要,需要将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等。 

 

    至此,两个数据库就完成了移植,希望本文对那些有相同需求的朋友有所帮

 

助。