いくつかの情報をOracle DBからSQLite DBにコピーするコードを実装するように求められました。私はOracleからResultSetを取得してSQLiteに挿入し始めますが、それは本当に遅いです。よりよい方法がありますか、これを達成するためのよりよい方法を提案できますか?以下のようにJavaからSQLiteへのコピー
私のコードでは、なります
OracleDB oracleDB = new OracleDB();
SQLiteDB sqliteDB = new SQLiteDB();
oracleConnection = oracleDB.connect();
sqliteConnection = sqliteDB.connect();
{
Statement s = null;
PreparedStatement ps = null;
try {
s = sqliteConnection.createStatement();
s.executeUpdate("CREATE TABLE IF NOT EXISTS test_table (field1, field2)");
ps = oracleConnection.prepareStatement("SELECT * FROM temp_desarrollo");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ps = sqliteConnection.prepareStatement("INSERT INTO test_table VALUES (?, ?)");
//SET PARAMETERS
ps.setString(1, rs.getString(1));
ps.setString(2, rs.getString(2));
ps.executeUpdate();
}
} catch (SQLException ex) {
Logger.getLogger(OracleToSQLite.class.getName()).log(Level.SEVERE, null, ex);
}
}
oracleDB.disconnect(oracleConnection);
sqliteDB.disconnect(sqliteConnection);
ループの外側でinsert文を1回だけ準備する必要があります。 –
OK、ありがとうございました。しかし、まだ私の質問は残っている、より良い方法はありますか? – BRabbit27