程序员人生 网站导航

数据库迁移(SQL SERVER导入数据到MySql)

栏目:数据库应用时间:2015-04-22 08:00:16


背景项目最开始时使用的是SQL Server数据库,业务需求现要将数据库调剂为MySQL。网上搜集了1些教程,整理了1个相对简单方便的分享给大家。

1、先去mysql官网下载1个odbc的驱动,由于MSsql1直没有集成mysql的驱动,这个玩意需要单独下载并安装。点我下载  我下载的是windows解紧缩的包Windows (x86, 64-bit), ZIP Archive,免安装版(听说绿色版比安装版本要好)。 

2、控制面板 ―> 打开ODBC数据源


如果安装成功,在ODBC数据源驱动里面有2个相应选项,以下图:
 
                                                   
3、点击上图的用户DSN,添加1个mysql的连接(条件是你已安装了1个mysql的数据库)。
 
    
双击以后出现下面的提示框:
 


啊,哈,至此已成功了1半了!

4、如果是SQL server2000用DTS的话,就能够直接用了。关键步骤在下面



下面这个界面很熟习了:




ok导入完成了。
固然也能够使用文件dsn,把连接串存成1个文件,然后导入的时候选择文件dsn,只要找到连接串的路径就能够了,不在赘述。。

 

驱动装完以后就能够开始导库了。

我使用的是MySQL的Client的工具SQLyog,安装很简单,功能界面很像SQL Server 2008,易上手。(由于本人安装的是中文破解版,为了更方便英文版的童鞋浏览理解,截图就直接拿原博的来用了,嘻嘻,附原博地址http://www.jb51.net/softjc/158485.html )

 

1. SQLyog安装完以后新建1个空数据库,右键【Import】->【Import Extenal Data】;


(Figure1:Import)


2. 选择【Start a new job】,点击【下1步】;


(Figure2:Start a new job)


3. 下面就是DSN的设置界面,如果你的下来列表中没有需要导出SQL Server数据库的DSN,那末需要通过【Create a New DSN】来创建1个新的DSN连接到SQL Sever;


(Figure3:Create a New DSN)



(Figure4:创建新数据源)



(Figure5:选择数据源类型)


4. 把上面的设置保存为1个local.dsn文件;


(Figure6:选择数据源保存路径)



(Figure7:选择SQL Server服务器



(Figure8:设置SQL Server帐号和密码)



(Figure9:选择SQL Server数据库



(Figure10:测试数据源)



(Figure11:测试成功)


5. 选中【File DSN】,在阅读当选择我们刚刚创建好的DSN,接着填写登录到SQL Server的帐号和密码;


(Figure12:选择DSN)


6. 下1步,选择目标MySQL服务器,填写IP地址和帐号密码,并选择目标数据库


(Figure13:设置MySQL帐号和密码目标数据库


 

(Figure14:表拷贝)


7. 这1步类似SQL Server的导入导出功能,这里可以拷贝1个表或多个表。同时还可以设置具体的过滤细节,里面包括了SQL Server表字段与MySQL表字段之间的对应关系【Map】,高级选项【Advanced】,过滤【WHERE】。我们目前的需求是拷贝所有,所以后面的过滤步骤(第8步)可以不予斟酌, 直接点击“下1步”开始copy。之前的全部进程就像是为SQL Server与MySQL创建了1个时光隧道,这里设置SQL Server表与MySQL表之间的对应关系好比是在告知它我要传送的是甚么东西(比如说人、还是动物),告知他以后就能够点击“下1步”开始时光穿梭了^w^


(Figure15:选择表对应关系)


8. 下图Figure16,数据源【Source】,描写【Destination】,特别注意这里数据类型【Type】,这里的意思是转换目标的数据类型,但是不需要跟目标表的1样,由于这里是做为1个临时存储的数据类型,类似FindOn在SQL Server中是datetime,这里转换为MySQL的timestamp,其实MySQL目标表的数据类型是datetime,这样的设置也是可以转换成功的。


(Figure16:表字段转换)



(Figure17:高级选项)



(Figure18:Error)



(Figure19:Log日志信息)


(Figure20:履行信息)



(Figure21:履行结果)



(Figure22:原始SQL Server的数据列表)



(Figure23:转移到MySQL的数据列表)


。对照下Figure22与Figure23,发现我们数据已全部转移成功了! 有不足的地方还望各路大神多多指导^w^


 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐