![](/img/trans.png)
[英]How to search and copy information from two tables in SQLite on Java?
[英]Copy from Oracle to SQLite in Java
我被要求实现一个代码,以将一些信息从Oracle数据库复制到SQLite数据库。 我从Oracle获得了ResultSet并开始在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);
我认为您可以选择“一次性”或偶尔进行表格复制。
您可能还需要考虑创建一个链接表,并进行“选择为”:
https://forums.oracle.com/forums/thread.jspa?threadID=846516
PS:正如文森特·马尔格拉特(Vincent Malgrat)建议的那样-将“准备”也移到循环外:)
通常,批处理在插入数据库(PreparedStatement.addBatch())时可提高性能。
在这里看看http://www.zentus.com/sqlitejdbc/usage.html
我从来没有使用过它,但是当在Oracle中插入许多行时,我要做的第一件事是:
所以我用谷歌搜索了sqlite批处理插入,并且上面的页面出现了,表明有可能。 我很想知道它是否可以使您更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.