MSSQL转MYSQL,gb2312转utf-8无乱码解决方法

使用软件:mysqlmigrationtool

提示数据过大,无法导入。修改my.cnf文件的max_allowed_packet = 100m以上。在windows操作系统中,my.cnf有可能显示不出来,需要用编辑器直接输入地址:盘符:\目录mysql教程binmy.cnf打开。

“there can be only one timestamp column with current_timestamp in default or on update clause”,mssql一个表中有两个以上的日期时间字段使用了getdate()取默认值,去掉即可。

“blob/text column ‘表名’ can’t have a default value”,此字段不允许使用默认值,去掉即可。

“the maximum row size for the used table type, not counting blobs, is 65535. you have to change some columns to text or blobs”,此表字段占用空间太大,适当减少其字段数量或长度。

运行软件后,点next进入以下界面:

选择ms sql server,按提示填写,connection string为:

jdbc:jtds:sqlserver://ip地址:端口(默认1433)/数据库教程名;user=用户名;password=密码;charset=gb2312;domain=

下一步为mysql的信息,connection string为:

jdbc:mysql://ip地址:端口(默认3306)/?user=用户名&password=密码&useserverprepstmts=false&
characterencoding=utf-8

之后一路按提示进行。到此界面选择要忽略的表。

继续next,如图所示进入此界面,此处设定字符编码,非常关键。

mssql 导入 mysql 不乱码 mysqlmigrationtool

mysql gui tools 5.0 包含了 mysqlmigrationtool 这个工具可以完成我们的任务

此工具需要jre update 8 以上的支持,可以去sun.com下载,速度很快。

http://www.java.com/zh_cn/download/manual.jsp

有的同学运行后导入mysql的结果是中文乱码 , 那是由于在一路next的中间有一个

选择编码的步骤, 此处务必选 user defined ,填上 charset=gbk,coll…tion的等于

gbk_chinese_ci , 就是把latin,和swidish的修改下,改成中文相应的。总之这里要看好

否则乱码就怪不了别人了。

然后一路next就是了。。。。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐