项目需要,由于项目先前是在 SQL Server 数据库开发的,所有数据都在 SQL Server 中,现在需要把数据搬到 MySQL 数据库中,方法有不少。多数情况下首先想到的是,在 SQL Server 中导出数据成一种文件格式,然后在 MySQL 中导入文件就可以了。但这样往往很麻烦,因为如果是在同一台主机上,安装有 SQL Server 和 MySQL 还好,但如果是两台主机,则往往不成功,会有很多错误,而且数据很容易乱。
所以说最直接的方法,还是运用驱动,直接从一主机到另一主机,从一库到另一库的 COPY,是灰常爽的哈,在这里写个笔记,供大家参考。
环境:
SQL Server 数据库安装在 XP 主机上,IP为 192.168.0.9,数据库用户名为 sa,密码为空。
MySQL 数据库,安装在 Linux 主机上,IP为 192.168.0.155,数据库用户名为 root,密码为123456。
MySQL 客户端工具:Navicat,该工具详细参考文章《一款非常好用的连接数据库的工具》。
特别说明:如果两台主机不在同一局域网内,也没问题,下面方法都适用。
第一步,用工具 Navicat 连接 MySQL 数据库。
第二步,打开数据库连接,新建数据库,并打开数据库。
第三步,新建导入向导并配置。
注意:在上方对话框,第 6 步点击确定后,可能会出现如下错误:
无法打开Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sa;Initial Catalog=pms_db_cf;Data Source=192.168.0.9;Initial File Name="";Server SPN=""。
这是因为驱动选的不对:
如果源数据库主机是 XP,则选择驱动 Microsoft OLE DB Provider for SQL Server,串信息如下:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pms_db_cf;Data Source=192.168.0.9
如果源源数据库主机是 Win7,则选择驱动 SQL Server Native Client 10.0,串信息如下:
Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sa;Initial Catalog=pms_db_cf;Data Source=192.168.0.9;Initial File Name="";Server SPN=""
顺便解释一下,上面的串中各部分的含义:
Provider=数据库驱动版本。
Integrated Security=以哪种用户身份登陆数据库。
Persist Security Info=默认值是False。
User ID=用户名。
Initial Catalog=源数据库名。
Data Source=源主机IP地址。
第四步,选择需要导入的数据,并导入即可。
第五步,刷新导入的数据库,查看表结构以及表中的数据,是否与原来的 SQL Server 中一致。
到此,复制库结构就算完成了,综上,总比导出成文件,再导入简单。
Good Luck!
管理员 孟郎郎 : 2015年05月22日08:57:30 地下1层
管理员 孟郎郎 : 2016年08月30日21:56:50 地下1层