1
我使用MySQL Migration Toolkit作爲POC將數據從Oracle遷移到MySQL。現在我想比較不同數據庫的相同表與Java之間的數據。在從Oracle遷移到MySQL的過程中如何使用Java比較兩個數據之間的數據
我已經完成了兩個數據庫中表的行的簡單總數。但我想檢查兩個表中的每一行,以便可以計算任何oracle表後或遷移期間的任何更新。
我使用MySQL Migration Toolkit作爲POC將數據從Oracle遷移到MySQL。現在我想比較不同數據庫的相同表與Java之間的數據。在從Oracle遷移到MySQL的過程中如何使用Java比較兩個數據之間的數據
我已經完成了兩個數據庫中表的行的簡單總數。但我想檢查兩個表中的每一行,以便可以計算任何oracle表後或遷移期間的任何更新。
這可能聽起來有點愚蠢,但是如果只是讀取兩個數據庫並比較數據的簡單程序呢?
您可以編寫一個包含一行所有數據的類,覆蓋equals()和hashCode(),然後讀取兩個表並使用創建的類進行比較。
public class MyRow {
int someVal;
String someOtherVal;
// etc
public boolean equals(Object obj) {} // implement this
public int hashCode(){} // implement this
}
然後在你的程序:
List<MyRow> mysqlRows = readMysql();
List<MyRow> oracleRows = readOracleRows();
for (MyRow mysqlRow : mysqlRows) {
if (!mysqlRow.equals(oracleRows.get(index)) {
// log error
}
}
當然,你可能要考慮讀表在時間一排,如果行的數量是巨大的和內存使用是一個問題。
deltaforce2,Atlast我必須做同樣的事情。雖然有兩個數據庫的結果集返回的挑戰是不同的。所以需要地圖的東西。反正謝謝。 – Joy 2011-06-20 05:51:28