把数据库的表从sqlserver转移到mysql

来源:互联网 发布:真皮床哪个品牌好 知乎 编辑:程序博客网 时间:2024/05/14 12:26
sql server 2005数据导出到mysql

总体方案:从sql server 中导出建立数据库的sql文件,在powerdesigner中生成PDM,再将PDM转化为MySql的版本,然后生成数据库的sql,在MySql中导入sql文件生成数据库。将sql server 表中已存在的数据导出为CSV文件,将CSV文件导入MySql中实现数据迁移。
用到的工具:Excel,PowerDesigner,SQLyog,记事本
1.在sql server 2005中,右键点击数据库→任务→生成脚本  按提示点击下一步,最后将脚本保存到文件xxx.sql



2.打开powerdesigner,点击文件→reverse engineer→database

选择数据库类型为sql server 2005

选择第一步中生成的sql文件
点击确定,生成sql server 2005版本的PDM文件
3.powerdesigner中,点击工具→generate physical data model
选择类型为mysql 5.0,点击确定生成mysql 5.0版本的pdm,如果出现如下错误

将detail选项卡中的check model的打钩去掉
4.powerdesigner中选择 数据库→generate database

点击确定生成Mysql 5.0版本的数据库脚本文件
5.mysql 中,用source命令从sql文件创建相关的表 “source d:/xxx.sql”检查上一步骤中生成的脚本文件,由于是从sql server中生成,数据库名称可能是dbo,将dbo改为你打算创建的数据库名称
6.sql server中,,右键点击数据库→任务→导出数据 按提示导出为excel文件,如:xx.xls
7.excel中打开,选择文件→另存为csv文件  毋须保留列名,方式选择utf-8,否则可能出现乱码的问题
8.再将csv文件导入mysql,有多种方式,图形化界面SQLyog中,直接右键表→从CSV中导入数据 即可



附加:
当导入到数据库以后,所有的数据结构会变成longblog,为了防止这种错误,可以查看原始的两个sql,复制粘贴一下,然后bmsh.book,前面的bmsh.去掉,让后删除[],让后执行sql语句。就ok了,目前没有更好的办法。


原创粉丝点击