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

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

要点:mysql 和 mysql odbc 都是64位

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

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

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

接下来就开始我们MySql数据库到Sql Server数据的转化工作。。。

(一)为 MySQL安装ODBC驱动

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

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

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

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

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

(二)创建Microsoft SQL到MySQL的链接

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

  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表

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

成功导入。。

导入Category表

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

咦,出错了!!!

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

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

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

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

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

MySQL如何转SQL server的更多相关文章

  1. MySql/Oracle和SQL Server的分页查

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: 1 SELECT 2 * 3 ...

  2. MySQL Transaction--MySQL与SQL Server在可重复读事务隔离级别上的差异

    MySQL和SQL Server两种数据库在REPEATABLE-READ事务隔离级别实现方式不同,导致使用上也存在差异. 在MySQL中,默认使用REPEATABLE-READ事务隔离级别,MySQ ...

  3. sql: MySQL and Microsoft SQL Server Stored Procedures IN, OUT using csharp code

    MySQL存储过程: #插入一条返回值涂聚文注 DELIMITER $$ DROP PROCEDURE IF EXISTS `geovindu`.`proc_Insert_BookKindOut` $ ...

  4. mysql数据转sql server

    创建一个mysql的ODBC数据源,在sql server中“任务”-“导入数据” -“选择创建的ODBC数据源” 然后填写服务器 登录名.密码,需要导入的数据库表什么的

  5. ORM之Dapper操作Sql Server和MySql数据库

    1.为什么选择Dapper 1)轻量. 2)速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3)支持多种数据库.Dapper可以在所有Ado.net P ...

  6. 通过SQL Server 2008 访问MySQL(转)

    在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从SQL Server 操作MySQL 数据库的方法. 数据库测试环境 1. SQL Ser ...

  7. 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

    有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...

  8. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  9. 怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

    有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...

随机推荐

  1. Python 动图、动画制作 —— moviepy、matplotlib.animation

    进入命令行界面(windows ⇒ cmd),下载安装,pip install moviepy 0. figure 的成员函数 # 创建 figure fig, ax = plt.subplots() ...

  2. repo/git Android/CyanogenMod srouce code

    For getting the whole Android/CM rom source code, 1. get the repo first.2. make sure the git is inst ...

  3. [UWP]使用Writeable?Bitmap创建HSV色轮

    原文:[UWP]使用Writeable?Bitmap创建HSV色轮 1. HSV 1.1 HSV的定义 HSV都是一种将RGB色彩模型中的点在圆柱坐标系中的表示法,这种表示法试图做到比RGB基于笛卡尔 ...

  4. Leetcode 169 Majority Element 分治

    在一个长度为n的数组中找出出现次数超过(n+1)/2次的数 说明请参考编程之美中的2.3 class Solution { public: int majorityElement(vector< ...

  5. Python实现多线程下载

    #!/usr/bin/python # -*- coding: utf-8 -*- # filename: paxel.py '''It is a multi-thread downloading t ...

  6. ASP.NET Core 中间件 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 中间件 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 中间件 上一章节中,我们我们有讲到 Startup 类中的 Confi ...

  7. error C2220: 警告被视为错误 - 没有生成“object”文件

    原文:error C2220: 警告被视为错误 - 没有生成"object"文件 这种错误的原因是:原因是该文件的代码页为英文,而我们系统中的代码页为中文.   解决方案: 1. ...

  8. ANDROID-BOOTSTRAP开源项目使用方法

    1.将程序导入到工作空间,修改target=android-XX为本地android SDK版本. 2.在项目中点击右键选择Properties->Android Library,添加ANDRO ...

  9. 【LeetCode】LRU Cache 解决报告

    插话:只写了几个连续的博客,博客排名不再是实际"远在千里之外"该.我们已经进入2一万内. 再接再厉.油! Design and implement a data structure ...

  10. WPF RenderTransform的使用

    呈现变形的元素并没有改变位置,只是呈现在不同的位置而已,所以动画要用呈现变形 好处:为了效率,如果改变位置的话,需要重新测量,布局 <Window x:Class="wpf180709 ...