0

我正在测试数据迁移,为此我创建了 2 个 SQL 脚本,一个用于 Oracle 服务器,一个用于 MySQL。我的想法是将他们的结果导出到 .txt 文件,然后使用 unix DIFF 进行比较。它适用于小文件,但对于大文件,Oracle 和 MySQL 的客户端不支持导出如此大的文件。

一种方法是破坏查询结果然后进行比较,但这非常耗时。在我看来,如果我可以使用某些程序批量破坏结果集,那可能是可能的。

请建议我一个简单的方法来做到这一点。谢谢阿杰

4

1 回答 1

0

在两个数据库上运行相同的查询(以相同的方式对数据进行排序)。在将其写入文件之前逐行对其进行比较。

Step 1a: Select data from Oracle
Step 1b: Select data from MySQL
Step 2:  Compare results row against row.
Step 3a: Write to file 1
Step 3b: Write to file 2

如何比较?连接列。来自 Oracle 的示例:col1||'、'||col2||'、'||col3。在 MySQL 中做同样的事情。此时,您可以比较行与行,而不仅仅是字符串与字符串。

问题是用什么工具?答案:Pentaho 数据集成。最好的开源 ETL 工具。

下载:http: //community.pentaho.com/

如何使用它: http: //pldwh.blogspot.co.uk/

如果你知道任何 OOP 语言。你可以自己写。只要您对数据进行排序并连接列,就可以了。

于 2013-07-02T19:59:05.973 回答