gpt4 book ai didi

java - JDBC:是否可以在java中执行多数据库查询?

转载 作者:行者123 更新时间:2023-11-30 00:38:38 26 4
gpt4 key购买 nike

我想使用 java 对 2 个数据库执行 sql 查询

但是在不自己编写所有内容的情况下找出如何做到这一点时遇到一些问题

也许有人知道如何做到这一点。

示例:

database1table1(names): id,Name,zip,somethingdatabase2table2(towns): id,townname,zip
SELECT * 
FROM database1.names, database2.towns
WHERE database1.names.zip = database2.towns.zip

当我使用 phpMyAdmin 并且用户对两个数据库都有权限时,该示例在 mysql 中运行

编辑:

问题是:由于我只能连接到一个数据库,因此如何让 Java 执行这样的查询(?)或者:如何使用 java 连接到 2 个数据库,执行使用两个数据库中的表的 Sql 查询。

我在java中执行sql命令的方式如下:

Connection c = DriverManager.getConnection("jdbc:mysql://localhost/database?user=root&password=");
PreparedStatement pstmt = c.prepareStatement("Select * from something");
pstmt.executeQuery();

但我无法使用它来获取使用 2 个数据库中的表的 Sql 查询?

最佳答案

假设这些数据库在同一个数据源中不可见,则必须使用中介软件来查询它们,例如 http://www.unityjdbc.com/doc/multiple/multiplequery.php .

这不是一个小问题,因为您的“SQL”必须处理每个数据源可用性和事务。

一些数据库供应商提供某种数据库链接(例如 http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm ),可以帮助您处理异构数据库。

因此,如果您将问题范围缩小到您感兴趣的 DBMS,那就太好了。

关于java - JDBC:是否可以在java中执行多数据库查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21968834/

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