我们通过后台 SQL 对记录数进行检查,发现所有的工具都能把记录完整地迁移到新的数据库。如果仔细观察,可以发现上图中各个数据库的大小是不一致的,基本的判断是由于各种工具在映射数据表字段时,字段长度取值可能不能而引起的。而 mesoftreportcenter2 数据库大小比起其它数据库差不多少了一半,这引起了我们的注意。通过分析,我们发现 Navicat Premium 在迁移数据库时,并不会为该数据库所有数据表创建索引和主键,缺少索引和主键的数据库大小显然比其它数据库要少得多。
为了解各工具迁移后的数据库能否立即应用于生产环境,我们对创建后的数据表进行了更深入的分析,发现各工具对字段默认值的支持程度也不尽相同。其中:
● SQLyog:完整支持 SQL Server 的默认值;
Mss2sql 的默认值有一个严重的错误,在 SQL Server 中字段默认值为空字符串 '',但迁移之后变成两个 '' 符号。Mss2sql 这个严重的错误会使得程序在正式环境运行后,数据库会产生错误的数据!
在一些老旧的系统中,数据库还会存在 Text、二进制类型的字段数据,通过测试对比后,四种工具都完美支持 Text 和 二进制(Image)类型字段。
小结:
测试项目 SQLyog Navicat Premium Mss2sql DB2DB
表结构 支持 支持 支持 支持
字段长度 支持 部分支持(对Money等支持不好) 支持 支持
数据 完整 完整 完整 完整
索引 支持 不支持 支持 支持
关键字 支持 不支持 支持 支持
默认值 支持 不支持 支持,但有严重错误 支持
二进制数据 支持 支持 支持 支持
五、各工具其它功能及试用版限制
估计由于数据库同步会存在一些技术难题的原因,4 款工具目前都是只是提供试用版本,最后我们来看看四个工具的试用版本各自的限制是什么:
工具名 价格 试用限制 其它功能 备注
SQyog $199 30天试用,并且只允许转换两张数据表 无
Navicat Premium $799 无
Mss2sql $49 每张数据表只允许有50秒处理时间 支持导出为 SQL
DB2DB ¥199 10万记录限制 支持导出为 SQL
四种工具中,由于 SQLyog 和 Navicat Premium 提供了额外的管理功能,所以价格相比其它两款工具的要高得多。特别是 Navicat,必须是 Premium 版本才提供数据转换的功能。而 Mss2sql 最新版本的试用版只提供了 50 秒处理时间,因为实用价值不大。而笔者与 DB2DB 作者联系时得知,DB2DB 设置 10万记录限制,主要是考虑国内很多小型软件记录数都是少于 10 万笔,而这一类人群一般都是小型创业团队。
六、评测总结
最后,对四款软件的测试结果作一个整体的总结:
工具名 处理速度 数据完整性 价格 推荐度
SQLyog ★☆☆☆☆ ★★★★★ ★★☆☆☆ ★★☆☆☆
Navicat Premium ★★★☆☆ ★☆☆☆☆ ★☆☆☆☆ ★☆☆☆☆
Mss2sql ★★☆☆☆ ★★★☆☆ ★★★★☆ ★★★☆☆
DB2DB ★★★★★ ★★★★★ ★★★★★ ★★★★★
以上四款软件中,最不推荐使用的是 Navicat Premium,主要原因是数据的完整性表现较差,转换后的数据不能立即用于生产环境,需要程序员仔细自行查找原因和分析。而 SQLyog 有较好的数据完整性,但整体处理速度非常的慢,如果数据较大的情况下,需要浪费非常多宝贵的时间。比较推荐的是 DB2DB,软件整体表现较好,对我来说最重要的是在不购买的情况下也够用了,而且全中文的傻瓜式界面操作起来实在方便。