【发布时间】:2012-12-24 09:42:16
【问题描述】:
我想一次调用不同数据库的两个表。数据库A的表包含用户ID,数据库B的表包含用户位置和用户ID,所以我想加入这两个表并获取与user_id对应的位置.database A 和 B 位于两个不同的服务器中。那么我怎样才能加入这两个表。如果无法加入,是否有任何有效的方法可以做到这一点。请帮助。我正在尝试使用 java、mysql 来做到这一点。
ps = con.prepareStatement("SELECT user_id FROM A.users");
rs = ps.executeQuery();
while(rs.next())
{
//call select statement for database B to get the location for each user id
}
请提出一个有效的方法来做到这一点
Id User_id
===========
1 44
2 23
User_id location
====================
44 india
23 us
【问题讨论】:
-
我想澄清一下:不同的数据库服务器/不同的数据库架构?
-
数据库是否在同一个mysql-server-instance上?
-
@PeterRader A 和 B 在两个不同的服务器中 也许这个句子可以澄清你的问题。
-
您需要有两个连接,一个指向表 A 所属的服务器,另一个指向表 B。是的,这意味着有两个
Connection对象:Connection conTableA; Connection conTableB;。 -
是的,我试图保持两个连接,但是如果我按照上面的代码进行操作,那么如果有 1000 个用户 ID,那么我必须执行 1000 次 select 语句,有什么方法可以执行这是一个批次?