基本上我需要通过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查询,但我正在寻找一个免费/开源选项。
谢谢!
答案 0 :(得分:3)
1)是的,您可以在mySQL中的两个不同数据库之间“加入”。
2)不,你不需要两个不同的连接才能做到。
例如:
http://www.webhostingtalk.com/showthread.php?t=476982
p2.upc_code FROM db1.products p1 LEFT OUTER JOIN db2.products p2 ON p1.prod_id=p2.prod_id";