MySQL如何转SQL server

 

MySql的数据如何导入到Sql Server数据库中?(转载)

本文咱讨论的重点是如何将MySql数据导入到Sql Server数据库中,因此就须要机器上同时安装了MySql和Sql Server两种数据库。

 

 

要点:mysql 和 mysql odbc 都是64位html

 

当咱们拿到MySql数据文件时,首先在MySql数据库下创建一个新的数据库,随便取名为"dapingtai",将sql文件拖入查询窗口会直接打开该文件,而后执行就会获得sql文件中的想要的表接口和数据,可是当sql文件比较大时,如上图的bang-region-dump-160927.sql是102M大小的,直接拖入查询窗口就会出现一个警告框mysql

 

 

警告框告诉咱们这个文件比较大,并提供了“打开”和“运行sql脚本”两个操做选项。这里有一个小坑(直接点击“Run SQL Script”会出现一个错误,以下图),咱们仍是先“Open”,在执行吧。sql

 

成功执行上述两文件,会获得一个名为“dapingtai”的MySql数据库数据库

 

接下来就开始咱们MySql数据库到Sql Server数据的转化工做。。。api

 

(一)为 MySQL安装ODBC驱动ide

 

1. 下载MySQL ODBC Connector,下载:http://dev.mysql.com/downloads/connector工具

2. 从控制面板-管理工具,打开你的 数据源(ODBC),选 系统DNS ,点添加。post


 

3. 在 建立新数据源对话框中,选择MySQL ODBC 5.3 ANSI Driver ,点完成。测试

 

 

4.完成后会出现MySQL 连接对话框,添加你的 MySQL 数据库帐号信息,并确认"root"帐号是否有所有的权限,若是你安装MySQL 没有修改的话, 不要改 3306这个端口号。spa

 

 

5.选择要创建链接的数据库,并测试。

 

 

(二)建立Microsoft SQL到MySQL的连接

 

1.在SQL Server Management Studio中打开一个new query 拷贝如下语句,修改成你的数据库的名称、帐户密码,并运行。

 

 

[sql]  view plain  copy
 
 
 
 
  1. EXEC master.dbo.sp_addlinkedserver   
  2. @server = N'MYSQL',   
  3. @srvproduct=N'MySQL',   
  4. @provider=N'MSDASQL',   
  5. @provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=127.0.0.1; _  
  6.  DATABASE=dapingtai; USER=root; PASSWORD=*******; OPTION=3'  

 

2.这个脚本经过ODBC驱动建立一个联接到你的MySQL数据库,这个联接出如今Microsoft SQL Server Management Studio以下图:


 


没有出现MYSQL这个链接的话,就刷新一下看看。

有的话点链接前的+号展开看看表是否都彻底映射过来了。。。。这里也可能会有一个坑,反正我踩了。。。见下图:

 

 

见到错误也不要着急,请仔细检查调用master.dbo.sp_addlinkedserver传递的的参数@provstr所填写的数据库驱动是否和创建ODBC时所选的驱动名称一致?MySQL ODBC的版本是否是不对应?错误每每都是本身的粗枝大叶而形成的哦。。。

 

(三). 在两个数据库之间导数据

在Microsoft SQL Server中建立个新的数据库(如:homework1),在new query中拷贝以下语句,运行后就能够把MySQL 数据库 “dapingtai"导入到Microsoft SQL 数据库“homework1”中。  

导入Region表

 

[sql]  view plain  copy
 
 
 
 
  1. SELECT * INTO [homework1].dbo.Region  
  2. FROM openquery(MYSQL, 'SELECT * FROM dapingtai.region')  

 

成功导入。。

 

 

导入Category表

 

[sql]  view plain  copy
 
 
 
 
  1. SELECT * INTO [homework1].dbo.category  
  2. FROM openquery(MYSQL, 'SELECT * FROM dapingtai.category')  

 

 

咦,出错了!!!

 

 

来在MySql下看一下Category的表设计,keyword字段为VARCHAR(100)

 



咱们查查看嘛,唉!还真有几个不按套路出牌的家伙。。。。见下图

 



好吧,我忍了。。。那keyword字段到底应该给多大呢?

 

 

索性把Category表的字段改成VACHAR(200),在执行就成功了。

最后!!!!!千万不要忘了添加索引主键什么的哦,由于这种导入方式并不能导入表之间的关系,弄好这些之后就大功告成啦。。。评论走起

相关文章
相关标签/搜索