2013-07-02 21 views
0

我正在測試數據遷移,爲此我創建了2個SQL腳本,一個用於Oracle服務器,另一個用於MySQL。我的想法是將結果導出到.txt文件,然後使用unix DIFF進行比較。 它適用於小文件,但對於大型文件,Oracle和MySQL的客戶端不支持導出這種大文件。導出MySQL和Oracle查詢的大型結果

一種方法是打破查詢結果,然後比較,但它是極端耗時。在我看來,如果我可以用一些程序批量打破結果集,它可能是可能的。

請給我一個簡單的方法來做到這一點。 謝謝 Ajay

+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語言。你可以自己寫。只要您對數據進行排序並將各個列連接起來,您就可以輕鬆前往。