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