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

Posted

技术标签:

【中文标题】java - 如何使用java将数据从一个数据库复制到另一个数据库?【英文标题】:How to copy data from one db to another db using java? 【发布时间】:2014-08-22 09:59:40 【问题描述】:

我有一种情况,我需要使用 java 和 INSERT into...as SELECT... 将数据从 HSQLDB 文本表复制到 mysql。不知道从这里怎么走。

...
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"); 

我知道有一个 LOAD DATA INFILE... 可以将文本加载到表格中,这对我来说不是一个选项。

【问题讨论】:

HSQLDB 带有一个实用程序,可以在不同数据库之间复制表。如果你只需要一次,我建议使用它。 How to copy table from one database to another?的可能重复 【参考方案1】:

你的方法不对。您无法通过与 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();

【讨论】:

以上是关于java - 如何使用java将数据从一个数据库复制到另一个数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java将数据从片段传递到android中的另一个片段?

如何从java将数据库连接传递给Kettle作业

如何将数据从一个表复制到另一个表,然后使用 Java 删除第一个表中的数据?

JNI:如何将一组数据从 c++ 转换为 Java

如何将json从java传递到javascript函数

如何使用 UCanAccess 从 Java 将两个字符串插入我的 Access 数据库?