zoukankan      html  css  js  c++  java
  • 数据库迁移(SQL SERVER导入数据到MySql)

    地址:http://blog.csdn.net/jiaohougenyang/article/details/44937801

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

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

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

     

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


    啊,哈,至此已经成功了一半了!

     

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



    下面这个界面很熟悉了:




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

     

    驱动装完之后就可以开始导库了。

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

     

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

    (Figure1:Import)

     

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

    (Figure2:Start a new job)

     

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

    (Figure3:Create a New DSN)

     

    (Figure4:创建新数据源)

     

     

    (Figure5:选择数据源类型)

     

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

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

     

    (Figure7:选择SQL Server服务器)

     

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

     

    (Figure9:选择SQL Server数据库)

     

    (Figure10:测试数据源)

     

    (Figure11:测试成功)

     

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

    (Figure12:选择DSN)

     

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

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

     

     

     

    (Figure14:表拷贝)

     

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

    (Figure15:选择表对应关系)

     

    8. 下图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的数据列表)

     

    。对比下Figure22与Figure23,发现我们数据已经全部转移成功了! 有不足之处还望各路大神多多指点^w^

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    容器 list
    迭代器
    排序
    extern "C"
    FZU2127
    HDU1102--最小生成树
    HDU1102(最小生成树Kruskal)
    并查集详解(转自一个很有才的大神)膜拜
    C# switch
    Dijkstra(歪果仁的名字真是长。。。)
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4534224.html
Copyright © 2011-2022 走看看