注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 

将MSSQL数据导入MySQL的方法(或Oracle导入到mysql与此类同)  

2011-08-12 08:33:57|  分类: 数据库类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
将MSSQL数据导入MySQL的方法(或Oracle导入到mysql与此类同)
2011年05月24日 星期二 17:39

MySQL GUI Tools下的MySQLMigrationTool
使用软件:
MySQLMigrationTool

运行软件后,点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,如图所示进入此界面,此处设定字符编码,非常关键。


如图所示,Migration of type MSSQL Schema处选择Mutilanguage,Migration of type MSSQLTable处选择Data consistency / multilanguage。

接下来一路NEXT即可搞定。

以下是我遇到的问题与解决办法:

提示数据过大,无法导入。修改my.cnf文件的max_allowed_packet = 100M以上。在windows操作系统中,my.cnf有可能显示不出来,需要用编辑器直接输入地址:盘符:\\目录\mysql\bin\my.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”,此表字段占用空间太大,适当减少其字段数量或长度。


  评论这张
 
阅读(363)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017