最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面。为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面。在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的。使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的。而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成。而 DB2DB 就是在这样的情况下产生的。

更新历史

2014-08-20 V1.4

  • 数据转换的过程中增加了耗时显示
  • 修正了从SQLite转换为其它数据库类型时,可能会出现无法创建数据表的问题(感谢小尾尾反馈)。
  • 修改了当选择了一种数据库类型后,再重新选择其它数据库时时,程序内部依然会记住最后一次选择的问题。

2014-08-12 V1.3

  • 使用并行库优化数据导入速度,整体性能比上一版本提升超过6倍
  • 修正了当数据表使用了关键字作为字段名时,该数据表无法生成和生法转换数据的问题
  • 修改了进度条的显示方式,现在可以显示同时在处理的数据表名及其进度

2014-08-03 V1.2

  • 优化了当目标数据库SQLServer时,内部使用Bulk方式写入数据,可以极大提高数据转换速度
  • 修正了数据导入时的多个BUG
  • 导入总进度增加显示当前导入的数据表序号以及总导入数据表数显示
  • 优化了程序界面一个细节

2014-07-31 V1.1

  • 优化了数据读取算法,使得读取某些数据巨大的数据表时,程序也不会卡住
  • 优化了数据处理算法,使得程序导入数据的速度更快

\122340424207285.png

\122340572174339.png

DB2DB 的全称是 DataBase2DataBase,可以实现任意数据库类型之间的数据库转换,目前支持的数据库类型有:

  • Microsoft SQLServer 2005或以上
  • MySQL
  • Microsoft SQLServer CE
  • SQLite
  • Access 数据库转换包含以下内容:

  • 数据表表结构
  • 数据表主键
  • 数据表索引
  • 数据表数据 DB2DB适用于以下场景:

  • 原来的系统想迁移到云平台
  • 为公司的软件产品制造一个单机演示版
  • 原来试用的单机系统想更新为正式的网络数据库版本
  • 数据异地并同不同数据库类型的备份 DB2DB 转换数据的速度是非常快的,通过新的 DB2DB 工具,原本 MSS2SQL 工具需要3天3夜才能完成的数据转换,终于只花费了4个小时就完成了,节省了大量的时间。