- 时间:2020-01-08 23:38 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:使用mss2sql工具将SqlServer转换为Mysql全记录
今天想用ruby on rails做一个小项目,需要用到mysql数据库,项目中的数据已经有了,只不过是保存在Sql Server中,用rails倒是可以操作Sql Server,但是总感觉不怎么搭配,想转换后使用,网上翻了下,转换的办法有很多,通过ODBC的,通过PHP程序的,写SQL代码的,觉得转换还是用工具吧,先是用ODBC试着玩了下,发现Sql Server的导出功能对mysql ODBC的支持并不是太好
ODBC分32,64位,一开始下了个32位,在Win7 64位上面显示不出来,又从mysql官网下载了64位版本才可以选择添加
32位版本:
[url=http://www.1sucai.cn/database/142740.html]http://www.1sucai.cn/database/142740.html[/url]
64位版本:
http://www.mysql.com/downloads/connector/odbc/
[img]http://files.jb51.net/file_images/article/201408/201408250939469.png[/img]
点击完成后你需要选择自己的mysql数据库源
[img]http://files.jb51.net/file_images/article/201408/2014082509394610.png[/img]
这样就能在ODBC里面看到了.
[img]http://files.jb51.net/file_images/article/201408/2014082509394611.png[/img]
可惜在sql server的导出数据中转换不成功,说什么体系结构不匹配.
[img]http://files.jb51.net/file_images/article/201408/2014082509394612.png[/img]
没办法,继续在网上找,发现一篇博客说可以使用mss2sql来转换,结果在win7 64位上转换成功:
mss2sql下载地址: [url=http://www.1sucai.cn/softs/209207.html]http://www.1sucai.cn/softs/209207.html[/url]
下载后打开压缩包
[img]http://files.jb51.net/file_images/article/201408/2014082509394613.png[/img]
运行mss2sql
[img]http://files.jb51.net/file_images/article/201408/2014082509394614.png[/img]
默认就是Move to MysQL server directly,选择下一步
[img]http://files.jb51.net/file_images/article/201408/2014082509394615.png[/img]
继续下一步,稍等片刻
[img]http://files.jb51.net/file_images/article/201408/2014082509394616.png[/img]
这次是需要连接到MySQL server了,我是本地,所以选择了Local,填写上你的用户名和密码
[img]http://files.jb51.net/file_images/article/201408/2014082509394617.png[/img]
继续等待连接
[img]http://files.jb51.net/file_images/article/201408/2014082509394718.png[/img]
选择在MS SQL里面需要转换的数据库
[img]http://files.jb51.net/file_images/article/201408/2014082509394719.png[/img]
点下一步,如果mysql里面有同名的数据库,会让你来选择转换的方式,分别是
Overwrite the entire database:覆盖整个数据库Overwrite existing tables only:只覆盖存在的表Skip existing tables:跳过存在的表Merge:合并
[img]http://files.jb51.net/file_images/article/201408/2014082509394720.png[/img]
我的mysql里面的只是一张空数据库,所以选了第一项,整个覆盖.
[img]http://files.jb51.net/file_images/article/201408/2014082509394721.png[/img]
选择需要转换的表,添加到转换列表中,我是需要全部的表,所以选择了Add all
[img]http://files.jb51.net/file_images/article/201408/2014082509394722.png[/img]
然后就是一段时间的等待
[img]http://files.jb51.net/file_images/article/201408/2014082509394723.png[/img]
这个表里面的数据并不多,花费时间稍长,大概有10分钟,如果表大的话,可能用程序来转换会快一些,有方便的办法也请告之为谢
[img]http://files.jb51.net/file_images/article/201408/2014082509394724.png[/img]
下面就是转换成功后的表格了,里面的数据OK,中文也没有什么问题.
[img]http://files.jb51.net/file_images/article/201408/2014082509394825.png[/img]
本文操作环境为:
win7 64位,sql server 2008 express, Mysql 3.23.49,apache 1.3.33,
[img]http://files.jb51.net/file_images/article/201408/2014082509394826.png[/img]