一、迁移Database Schema。

首 先使用Sybase Powerdesigner的逆向工程功能,逆向出SQL Server数据库的物理模型。具体操作是在Powerdesigner中选择“File”,“Reverse Engine”再选择Database,将DBMS选择为SQL Server,如图:

然后选择数据源,也就是要具体连接到的SQL Server数据库服务器,然后选择要逆向的数据库名,比如选中“WSS_Content_80”如图所示:

单击确定即可生成物理模型图:

然后单击“Database”菜单下的Change Current DBMS修改当前的DBMS,改为MySQL 5.0,

单击确定后即可生成MySQL的物理模型 然后单击“Database”菜单下的“Generate Database”生成数据库脚本文件。

接下来是手工修改下生成的脚本的内容。

将其中的dbo.全部替换成空

将create user这样的语句删除掉。

如果有些字符在MySQL中是关键字,那么必须使用“`”(键盘上数字1左边那个符合)符合框起来。

加上MySQL所需要的存储引擎比如每个建表语句后跟上:

ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;

将生成的脚本在MySQL中去运行一次即可创建数据库。

二、迁移数据内容

数据内容只能通过生成INSERT语句的方式来做。

首先使用SSMS的“生成脚本”功能(在数据库上右键,选择“任务”“生成脚本”选项),可以为SQL Server数据库中的数据生成插入脚本。

首先选择要迁移数据的表,这里我们全选所有的表:

然后单击下一步,选择将脚本保存到新的查询窗口:

单击“高级”选项,在高级选项窗口中选择“要编写脚本的数据的类型”为仅限数据:

然后“确定”再下一步下一步即可生成INSERT脚本文件。

修改生成的脚本文件,主要有以下几项修改:

使用批量替换的方式去掉[ ]这是SQL Server的符合,在MySQL中不用这个。

使用批量替换的方式去掉dbo.

有些单词在MySQL中是关键字的,那么需要使用“`”引起来。

关于Datetime类型的数据,需要手工修改下,SQL Server默认生成的是这样的语句,在MySQL中是没办法解析的:

CAST(0x00009EEF00000000 AS DateTime)

为每一行添加一个;表示一个插入语句结束。这个分号在SQL Server中可以不需要,但是在MySQL中是必须的。简单的方法是使用高级的文本编辑器(比如Notepad++),将\r\n替换为;\r\n即可。

【出自博客园深蓝居,转载请注明作者出处】 
 

(转)如何将数据库从SQL Server迁移到MySQL的更多相关文章

  1. 从Microsoft SQL Server迁移到MySQL指南

    转自 https://www.mysql.com/why-mysql/white-papers/sql-server-to-mysql-zh/ 由于 MySQL 将节约成本.自由选择平台.特性丰富等优 ...

  2. SQL Server 迁移至MySQL 关键步骤的梳理总结

    迁移主要是通过Navicat工具来实现的.迁移工具的选定在此不讨论. 迁移前准备 1.提前通知DBA\SA\BI等,并确认发布计划及数据库迁移方案. 2.梳理出SQL  Server DB 中影响业务 ...

  3. 使用sqlyog将sql server 迁移到mysql

    使用软件工具sqlyog(64位) sqlyog 迁移步骤 1.使用sqlyog连接目标数据库 连接目标数据库 2.选择目标数据库(需要先把表结构建好,从SQL Server同步表结构也可以使用工具, ...

  4. asp.net mvc entityframework sql server 迁移至 mysql方法以及遇到的问题

    背景: 我原来的项目是asp.net mvc5 + entityframework 6.4 for sql server(localdb,sql server),现在需要把数据库切换成mysql,理论 ...

  5. abp项目 从sql server迁移至mysql

    官方资料:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration 实验发现,还差了两步 整理一下,步骤如下: 1.引用My ...

  6. 【转】sql server迁移到mysql

    SQL Server转换为MySQL工具,用了一下 感觉蛮不错的. 下载地址:https://www.jb51.net/softs/209207.html#downintro2 分享上来,同时也以便记 ...

  7. SQL Server 迁移数据库 (一)导入和导出

    今天正好换服务器,记录一下迁移数据库的过程. 以前经常用备份还原法,今天试试‘SQL Server 2016 导入和导出数据’这个看怎么玩. 1. 建数据库结构 1.1 在需要迁移的数据库名字上右击, ...

  8. VMWare vCenter 4.x 数据库由SQL Express 迁移至SQL Server 2008 R2

    默认安装下的 VMware vCenter 4.x 会在本地安装 SQL Express 2005 版本,如果你有需要迁移至 Full SQL Server版本比如 SQL Server 2008 R ...

  9. SQL Server 迁移数据到MySQL

    一.背景 由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL:由于涉及的表比较多,所以想在MySQL中生成对应 ...

随机推荐

  1. jq与js 区别

    $(this).html(666); <div id="a">123</div> <script> $("#a").clic ...

  2. 把VSO作为GitHub上JavaScript项目的免费CI服务器

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软变得更加开放后,走向开放的不仅有.NET运行时.IDE工具,还有ALM服务器核心组 ...

  3. Struts2基本配置详解

    Struts2配置文件加载顺序 struts2 配置文件由核心控制器加载 StrutsPrepareAndExecuteFilter (预处理,执行过滤) init_DefaultProperties ...

  4. Android Fragment学习笔记(二)----Fragment界面添加和管理

    Fragment界面添加 了解过fragment的生命周期等简单知识,于是去看官方文档来了解更多相关内容,要添加fragment到我们的UI界面中,给出了两种常用的方法,第一个是在activity的布 ...

  5. JavaScript设计模式——前奏(封装和信息隐藏)

    前面一篇讲了js设计模式的前奏,包括接口的讲解.. 三:封装和信息隐藏: 信息隐藏用来进行解耦,定义一些私有的数据和方法. 封装是用来实现信息隐藏的技术,通过闭包实现私有数据的定义和使用. 接口在这其 ...

  6. ZK常用命令

    zkcli脚本命令介绍 zkcli    连接默认zookeeper服务器 zkcli -server ip:port    连接指定的zookeeper服务器 create -s -e path d ...

  7. css随记01编辑技巧,背景与边框

    代码优化 一个按钮的例子,使其值同比例变化; button{ color: white; background: #58a linear-gradient(#77a0bb, #58a); paddin ...

  8. vs2008/2010安装无法打开数据文件解决方案

    本人在安装VS2008或2010时,在开始的第一个页面(进度条大约加载到75%左右),提示“无法打开数据文件 'C:/Documents and Settings/Administrator/Loca ...

  9. Docker中自动化搭建Hadoop2.6完全分布式集群

    这一节将在<Dockerfile完成Hadoop2.6的伪分布式搭建>的基础上搭建一个完全分布式的Hadoop集群. 1. 搭建集群中需要用到的文件 [root@centos-docker ...

  10. three.js入门3

    为什么要用three.js Three.js为我们封装了底层的WebGl接口,使我们在无需掌握繁冗的图形学知识的基础下可以轻松的创建三维场景.相比较使用底层的WebGL我们可以使用更少的代码,大大的降 ...