如何使用java将数据从一个数据库复制到另一个数据库?

如何使用java将数据从一个数据库复制到另一个数据库?,java,mysql,hsqldb,Java,Mysql,Hsqldb,我遇到这样一种情况:我需要使用java将数据从HSQLDB文本表复制到MYSQL,并INSERT-into-as-SELECT…。不知道从这里怎么走 ... Connection hcon = DriverManager.getConnection(param1); #hsql connection ... Connection mscon = DriverManager.getConnection(param2); #mysql connection ... Statement htmt =

我遇到这样一种情况:我需要使用java将数据从
HSQLDB
文本表复制到
MYSQL
,并
INSERT-into-as-SELECT…
。不知道从这里怎么走

...
Connection hcon = DriverManager.getConnection(param1); #hsql connection
...
Connection mscon = DriverManager.getConnection(param2); #mysql connection
...
Statement htmt = hcon.createStatement();
Statement mstmt = mscon.createStatement();
...
#How do I reference MySQL here?
ResultSet r = hstmt.executeQuery("insert into mysqlemp as select * from hsqlemp"); 

我知道有一个
加载数据填充…
来将文本加载到表中,这不是我的选择。

您采取了错误的方法。您无法通过与HSQL数据库的连接访问MySQL数据库。你可以这样做:

PreparedStatement loadStatement = hcon.prepareStatement("SELECT data FROM table");
PreparedStatement storeStatement = mscon.prepareStatement("INSERT INTO table (data) VALUES (?)");

ResultSet loadedData = loadStatement.executeQuery();

while (loadedData.next()) {
    storeStatement.setString(1, loadedData.getString(1));
    storeStatement.executeUpdate();
}

HSQLDB附带了一个实用程序,可以在不同的数据库之间复制表。如果你只需要这一次,我建议你用它。可能是