一、背景
由于项目开始时候使用的数据库是sql Server,后来把存储的数据库调整为MysqL,所以需要把sql Server的数据转移到MysqL;由于涉及的表比较多,所以想在MysqL中生成对应表并导入数据;
上网找了些资料,如:将ACCESS和MSsql导入MysqL中、MysqL Migration 实现 MSsql 到 MysqL数据迁移,虽然不知道里面的做法是否可以成功转移,但是里面的过程比较复杂,没有去尝试,后来自己找到了方法,最重要就是简单和准确(暂时没发现明显的BUG),这里分享给大家。
二、转移数据
我使用了MysqL的ClIEnt的工具sqlyog,这个工具的安装很简单。安装完成之后点击需要导入的目标数据库,点击右键【import】->【import Extenal Data】;
(figure1:import)
选择【Start a new job】,点击【下一步】;
(figure2:Start a new job)
下面就是DSN的设置界面,如果你的下来列表中没有需要导出sql Server数据库的DSN,那么需要通过【Create a New DSN】来创建一个新的DSN连接到sql Sever;
(figure3:Create a New DSN)
(figure4:创建新数据源)
(figure5:选择数据源类型)
把上面的设置保存为一个local.dsn文件;
(figure6:选择数据源保存路径)
(figure7:选择sql Server服务器)
(figure8:设置sql Server帐号和密码)
(figure9:选择sql Server数据库)
(figure10:测试数据源)
(figure11:测试成功)
选中【file DSN】,在浏览中选择我们刚刚创建好的DSN,接着填写登录到sql Server的帐号和密码;
(figure12:选择DSN)
下一步,选择目标MysqL服务器,填写IP地址和帐号密码,并且需要选择目标数据库;
(figure13:设置MysqL帐号和密码目标数据库)
这一步类似sql Server的导入导出功能,这里可以拷贝一个表或者使用sql脚本过滤数据;
(figure14:表拷贝)
上面的全部过程就是为创建sql Server与MysqL的一个管道,接下来就是最为重要的设置sql Server表与MysqL表之间的对应关系了;里面包括了sql Server表字段与MysqL表字段之间的对应关系【Map】,高级选项【Advanced】,过滤【WHERE】。
(figure15:选择表对应关系)
下图figure16,数据源【Source】,描述【Destination】,特别注意这里数据类型【Type】,这里的意思是转换目标的数据类型,但是不需要跟目标表的一样,因为这里是做为一个临时存储的数据类型,类似FindOn在sql Server中是datetime,这里转换为MysqL的timestamp,其实MysqL目标表的数据类型是datetime,这样的设置也是可以转换成功的。
(figure16:表字段转换)
(figure17:高级选项)
(figure18:Error)
(figure19:Log)
(figure20:执行信息)
(figure21:执行结果)
(figure22:原始sql Server的数据列表)
(figure23:转移到MysqL的数据列表)
对比下figure20与figure21,发现我们数据已经全部转移成功了;
作者:听风吹雨
出处:http://gaizai.cnblogs.com/
总结以上是内存溢出为你收集整理的SQLServer迁移到MySql全部内容,希望文章能够帮你解决SQLServer迁移到MySql所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)