gpt4 book ai didi

java - 需要在java中同步来自不同数据库的两个表

转载 作者:行者123 更新时间:2023-12-01 18:20:51 28 4
gpt4 key购买 nike

通常要与网络中的表同步,我可以编写一个简单的 SQL 查询并运行它来同步表,但是如果源数据库不同(可能是 db2、mssql、mysql、oracle - 从我可以的地方)怎么办将数据获取到目标表)。

我应该如何用java编写代码来实现这个目的?我知道我可以在java中创建dblinks来从外部网络数据库获取数据,但dblinks仅适用于相同类型的数据库。我无法在脑海中弄清楚实现情况。请为我指出正确的方向,以便我可以采取小步骤并学习与 Java 新手相同的内容

最佳答案

您可以使用普通 JDBC 来完成此操作。代码示例,未测试:

void migrate() throws SQLException {
Connection connA = DriverManager.getConnection("jdbc:oracle:thin:@myhost:1521:orcl");
Connection connB = DriverManager.getConnection("jdbc:mysql://192.168.1.33/test");

PreparedStatement stmA = connA.prepareStatement("select * from product where 1=1");
PreparedStatement stmB = connB.prepareStatement("insert into prod values(?,?,?,?)");

ResultSet rs = stmA.executeQuery();
while (rs.next()) {
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
stmB.setObject(i + 1, rs.getObject(i + 1));
}
stmB.executeUpdate();
}

connA.close();
connB.close();
}

关于java - 需要在java中同步来自不同数据库的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27704002/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com