同じ構造を持つ 2 つの Oracle データベースがあります。あるテーブルの内容をあるデータベースから別のデータベースにコピーする必要があります。このタスクを処理するための Java プログラムを作成しています。テーブルの構造は将来変更される可能性があるため、プログラムは自動的に適応できる必要があります。次のコードを試しました:
try {
ResultSet rsConfig = getConfigRows(srcDatabase); // this method returns SELECT * FROM TEST_TABLE
ResultSetMetaData rsmd = rsConfig.getMetaData();
int colCount = rsmd.getColumnCount();
String columns = "";
String values = "";
for (int j = 1; j <= colCount; j++) {
columns += rsmd.getColumnName(j);
if (j <= colCount)
columns += ",";
values += "?";
if (j <= colCount)
values += ",";
}
String sql = "INSERT INTO TEST_TABLE(" + columns + ") VALUES("
+ values + ")";
PreparedStatement psDest = destDatabase.prepareStatement(sql);
while (rsConfig.next()) {
for (int j = 1; j <= colCount; j++) {
psDest.setObject(j, (Object) rsConfig.getObject(rsmd
.getColumnName(j)));
}
psDest.executeUpdate();
}
私のコードに何か問題がありますか? 助言がありますか ?何らかの理由で、外部ツールの使用が許可されていないことに注意してください。