导出MySQL和Oracle Query的大结果

时间:2013-07-02 14:37:08

标签: mysql oracle oracle-sqldeveloper

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

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

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

1 个答案:

答案 0 :(得分: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语言。你可以自己写。只要你对数据进行排序并连接好的列就可以了。