【发布时间】:2014-05-02 17:07:14
【问题描述】:
我需要从一个数据库中取出一张表并将其上传到另一个数据库。 所以,我创建了两个单独的连接。这是我的代码
Connection connection1 = // set up connection to dbms1
Statement statement = connection1.createStatement();
ResultSet result = statement.executeQuery("select * from ............. ");
Connection connection2 = // set up connection to dbms2
// Now I want to upload the ResultSet result into the second database
Statement statement2 = connection2.createStatement("insert into table2 " + result);
statement2.executeUpdate();
上面的最后几行不起作用 我怎样才能做到这一点 ?底线是如何重用现成的结果集
ResultSet 是一个现成的 java 对象。我希望有办法将它添加到批处理或类似的东西和 executeUpdate ,但不要将结果集写入一些临时空间(List,csv 等)和插入
【问题讨论】:
-
"insert into table2 " + result" 我不认为你可以这样做,从你的结果集中提取每一行数据并构造一个适当的sql插入语句。
-
我知道我可以将这些数据写入 csv 文件,然后逐行插入。但这需要很多时间。我希望有更好的方法。
ResultSet是一个 java 对象。一定有办法不让它崩溃。 .一定有办法重用它 -
这不是关于获取元数据。我可以手动创建一个包含所有元数据的空 table2。我的观点是我怎样才能有效地重用结果集
-
我认为没有提取
ResultSet并且没有构建适当的 SQL statemnts 没有其他方法。 E