中间碰到的主要问题是,工具在sqlserver中取中文字段时,产生乱码
步骤:
1,打开
mysql migration toolkit 到了configuraion Type界面,直接next
------------------乱码的源头之一------------------------------
2,到了Source Database界面,产生乱码的源头之一
默认工具会用utf-8去取sqlserver里面的数据,而sqlserver里面是gbk,直接
倒致查询出来的结果己经是乱码,插入mysql就更不用说了,肯定乱码
解决办法,点击最下面的advanced-->出现advanced Settings-->在connction String:里面
输入jdbc:jtds:sqlserver://localhost:1433/zg;user=sa;password=sa;charset=gbk;domain=
把charset=utf-8换成gbk,用户名和密码以及数据库就是自己填啦,接着next
默认工具会用utf-8去取sqlserver里面的数据,而sqlserver里面是gbk,直接
倒致查询出来的结果己经是乱码,插入mysql就更不用说了,肯定乱码
解决办法,点击最下面的advanced-->出现advanced Settings-->在connction String:里面
输入jdbc:jtds:sqlserver://localhost:1433/zg;user=sa;password=sa;charset=gbk;domain=
把charset=utf-8换成gbk,用户名和密码以及数据库就是自己填啦,接着next
-----------------------------------------------------------------
3.进入Target Database界面-->填好信息后(这步不用advanced)-->next
4.进入Connecting to Servers界面,点击advanced可以看到连接到sqlserver里面的信息,
第二步中的URL就是COPY这里的,只是将charset改了一下.next-->
第二步中的URL就是COPY这里的,只是将charset改了一下.next-->
5.Source Schemata Selection 界面-->next
6.Reverse Engineering -->next
7.ObjectType Selection 这步可以去掉你不想倒入的表,-->next
------------------乱码的源头之一------------------------------
8.Object Mapping这步也是产生乱码的源头之一,因为它决定了在mysql中创建的数据库的character set,
点击Migraion of type MSSQL Schema 下面的set parameter,可以看到默认的charset是latin1,在这里选择
multilanguage,这样创建的database将会是utf8,-->next
点击Migraion of type MSSQL Schema 下面的set parameter,可以看到默认的charset是latin1,在这里选择
multilanguage,这样创建的database将会是utf8,-->next
-----------------------------------------------------------------
9.Migration界面,-->next
10.Manual Editing ,-->next
11.在Object Creation Options界面,你可以选择产生创建database 与table的脚本-->next
12.Creating Objects,-->next
13.Creation Results,-->next
14.Data Mapping Options,-->选择产生insert语句的脚本,--next
15.Bulk Data Transfer -->next
16.finish 就OVER了
中间有两个原因会产生乱码,取sqlserver时,与创建mysql database时,上面己经指出。