我需要從一個數據庫中獲取一個表並將其上傳到不同的數據庫。 因此,我創建了兩個單獨的連接。這裏是我的代碼如何將表從一個數據庫複製到另一個數據庫?
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