使用Navicat将SQL Server数据迁移到MySQL

在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的举措。我开发的项目或者框架,采用了微软企业库Enterprise Library的模块,倾向于支持多种数据库,也为我们开发不同类型的项目提供非常方便、快速、统一的处理方式。一般常规的数据库包括MS Server、OracleMySQL、PostgreSQL、SQLite、DB2、国产达梦等数据库,本篇随笔主要介绍如何实现从MS SQLServer到Mysql数据库,并为不同数据库类型添加实现底层的解决思路。

1、SQL Server数据库导出到MySQL

如果我们已经基于SQL Server进行了开发,并且具有很多基础的数据库数据了,那么我们可以利用SQL Server导出到MySQL数据库中,这种是我们常见的一种开发方式,毕竟基于SQLServer数据库开发起来会比较快速一些。

SQL Server数据库的管理工具是SQL Server Management Studio;而Mysql数据库的管理工具则推荐使用Navicat,这是一款非常强大好用的管理工具。

首先我们使用Navicat建立自己一个空白的Mysql数据库,用来承载SQL Server 的数据导出需要。

例如我们创建一个和SQL Server数据库同名的MVCWebMisTest数据库,并且设置它的字符集为默认或者UTF8的编码方式,如下所示。

使用Navicat将SQL Server数据迁移到MySQL

然后利用SQL Server Management Studio进行数据的直接导出,选择【任务】【导出数据】,如下所示。

使用Navicat将SQL Server数据迁移到MySQL

然后在弹出的数据库里面选择导入的数据源和目标,选择导入的数据源界面如下所示。

使用Navicat将SQL Server数据迁移到MySQL

然后在目标里面选择Mysql的驱动,填入相应的信息,如下界面所示。

使用Navicat将SQL Server数据迁移到MySQL

然后在下一步选择需要导出的表信息。

使用Navicat将SQL Server数据迁移到MySQL

很不幸,这种方式操作数据库的导出操作没有办法成功。

使用Navicat将SQL Server数据迁移到MySQL

2、从Navicat中导入MS SQLServer数据库数据

既然通过SQL Server Management Studio无法导入数据到Mysql数据库中,那么我们尝试下Mysql的数据库管理工具Navicat,它也有数据传输(导入导出)的功能。

我们在刚才建好的数据库上面右键调出对应的【数据传输】功能,然后设置好数据的源和目标,如下所示。

使用Navicat将SQL Server数据迁移到MySQL

执行数据传输操作,顺利完成,非常强大和方便,而且没有任何错误。如下界面所示。

使用Navicat将SQL Server数据迁移到MySQL

检查数据库导入的数据表和数据,没有问题。

使用Navicat将SQL Server数据迁移到MySQL

3、Mysql数据库之间的传递

那么如果我们需要部署到服务器,就需要把当前的Mysql数据库传递(或者还原)到服务器的MySQL数据库中,一般来讲,我们利用Mysql的Navicat管理工具就可以实现数据导出的sql文件里面,然后在服务器里面使用反向操作即可还原数据库成功的了。

使用Navicat将SQL Server数据迁移到MySQL

转储SQL文件成功如下界面所示。

使用Navicat将SQL Server数据迁移到MySQL

而在服务器的上面,我们可以利用Navicat的运行SQL文件即可还原Mysql数据库了。

使用Navicat将SQL Server数据迁移到MySQL

使用Navicat将SQL Server数据迁移到MySQL

运行的结果如下所示。

使用Navicat将SQL Server数据迁移到MySQL

当然有时候也会发现存在一些表依赖引用的情况发生,不知道是不是Navicat版本出来的问题,不过如果有这个问题,只要不是编码的问题,都好解决,打开sql文件把创建表的顺序调整一下就可以了,我就碰到过这种极端的情况,把一些依赖表调整到前面来就可以顺利导入数据了。

4、底层的Mysql数据库支持 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/35ded7fc8ff6039f74438f5a724f77eb.html