我需要从一个数据库中获取一个表并将其上传到不同的数据库。 因此,我创建了两个单独的连接。这里是我的代码如何将表从一个数据库复制到另一个数据库?
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对象,必须有一种不会折叠它的方式...必须有一种方法来重用它 –
这可以帮助: http://stackoverflow.com/questions/11268057/how-to-create-table-based-on-jdbc-result-set – Gee858eeG