sqlserver导入数据到mysql的详细图解

1、去mysql的官方下载一个odbc的驱动,因为MSsql一直没有集成mysql的驱动,这个玩意需要单独下载,并安装的。http://dev.mysql.com/downloads/connector/odbc/5.1.html
我下载的是windows解压缩的包Without installer (unzip in C:/),没有选择安装的。绿色版比安装版本要好。点击install的一个bat文件。
2、如果安装成功,在ODBC数据源驱动里面有个选项,如下图:

3、点击上图的用户dsn,添加一个mysql的连接,前提是你有一个mysql的数据库。

双击之后出现下面的提示框:

啊,哈,成功了一半了。

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

下面这个界面很熟悉了:

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

5、如果你用的是SQL2005的ssis的话,有点恶心。在这里我在强调一下:

我十分讨厌sql2005里面的DTS。希望微软的人能看到。

这里面的dsn要手动写的,没有办法从odbc里面直接读取出来,这个功能很实用,不会让人产生很多的误解。但是在2k5里面却没有,非常费解,微软的家伙是干啥吃的。
别以为你已经成功了,点下一步,在点下一步,等死吧。

我操,只能选择-编写查询以指定要传输的数据。吐血了。。有200多个表啊。这tmd咋搞?
经过测试,文件dsn和系统dsn都没有选择所有的表。而如果选择文件dsn用连接字符串的方式报这个错误:

我十分讨厌SQL server2005的DTS功能,设计微软SQL Server 2005的工程师是个白痴。

我决定用2K了。

我有测试了一下2008,嗯。2008有这个功能,下图:

SQL Server 迁移数据到MySQL

一、背景

由于项目开始时候使用的数据库是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,发现我们数据已经全部转移成功了;

(0)

相关推荐

  • excel导入sqlserver 导入数据到sqlserver

    将Excel中的数据导入到Sqlserver 这里以sql 2008为例 操作方法 01 1.打开要导入的Excel文件,观察第一列是为字段还是数据 02 打开SQLServer,在需要导入的数据点击 ...

  • 虚拟主机如何导入MSSQL或mysql的数据

    虚拟主机如何导入MSSQL或mysql的数据,是每一位站长所关心的问题,在此,小编以美国主机Bluehost为例为大家详细介绍, 虚拟主机如何导入MSSQL或mysql的数据详细步骤如下: 1.首先点 ...

  • mysql如何创建数据库并导入数据文件(linux下)

    本篇主要介绍如何通过数据文件,创建数据库并导入数据文件(数据库的导入). 操作方法 01 首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码.连接上 ...

  • 导入导出备份MySQL数据库命令行

    导入导出备份MySQL数据库命令行,怎么进行呢?讲解一下. 操作方法 01 开始菜单 | 运行 | cmd | 02 MySQL命令行导出数据库: 进入MySQL目录下的bin文件夹:cd MySQL ...

  • CentOS 6.4 服务器版安装教程(超级详细图解)

    附:CentOS 6.4下载地址 32位:http://mirror.centos.org/centos/6.4/isos/i386/CentOS-6.4-i386-bin-DVD1to2.torre ...

  • CentOS 6.3安装教程(详细图解)

    附:CentOS 6.3下载地址 http://mirrors3.ustc.edu.cn/centos/ 32位:http://mirror.centos.org/centos/6.3/isos/i3 ...

  • windows 2003 iis+php5+mysql+phpmyadmin 详细安装配置

    windows 2003 iis+php5+mysql+phpmyadmin 详细安装步骤 支持asp .net php mysql gmail一、安装iis这就不要说了要注意的就是安装是注意选上as ...

  • Excel2007教程:导入数据与链接数据库

    Excel 2007拥 有强大的数据整理、分析能力,能够帮助我们完成日常工作中大部分的数据处理任务。要整理、分析数据,首先必须把数据装进Excel里面。除了逐一录入而 外,导入、连接数据库也是让Exc ...

  • Excel表格如何导入数据

    为了方便需要向表格中导入数据来快速建立表格,在Excel中可以很轻松的实现从其他外部文档中批量导入数据,只要选择需要导入的文件及在表格中存放的位置即可.下面以一个ACCESS数据库中的数据表导入到Ex ...