JDBC连接在同一台服务器上的两个MySQL数据库中?

时间:2012-09-28 20:21:45

标签: java mysql jdbc

基本上我需要通过jdbc运行以下查询。这两个数据库都是MySQL,并且位于同一台服务器上。

SELECT * FROM DB1.ACCOUNT a
JOIN DB2.ITEM i ON a.AccountID = i.AccountID

我的jdbc连接设置如下:

Class.forName("com.mysql.jdbc.Driver").newInstance();
DB1 = DriverManager.getConnection("jdbc:mysql://serverloc.com:3300/DB1", "username", "password");
DB2 = DriverManager.getConnection("jdbc:mysql://serverloc.com:3300/DB2", "username", "password");

这是我遇到问题的地方。我现在可以创建一个针对DB1或DB2的语句,但是我找不到对两个数据库进行JOIN的方法。我已经尝试对其中一个数据库(下面)运行我的查询,但返回null。

Statement statement = DB1.createStatement();
ResultSet resultSet = statement.executeQuery(" QUERY HERE ");

我已经看到你可以使用UnityJDBC在DB上运行JOIN查询,但我正在寻找一个免费/开源选项。

谢谢!

1 个答案:

答案 0 :(得分:3)

1)是的,您可以在mySQL中的两个不同数据库之间“加入”。

2)不,你需要两个不同的连接才能做到。

例如: