2012-06-20 41 views
0

我在同一台服务器上有两个数据库。在一个查询中使用两个具有不同属性的数据库

我想在用户搜索任何字词时显示来自两个不同数据库的单个结果! 我们该如何做到这一点?我正在使用JSP

+0

好,首先你需要提供两个数据库连接,或者在他们中的一个,包括其他的数据有一个单一视图D B。你真的需要提供一些更多的信息和你迄今为止所尝试/想到的。 –

+1

这个链接可以帮助你 - > http://stackoverflow.com/questions/1183341/connect-multiple-tables-in-different-databases-mysql –

回答

3

您不需要连接两个数据库。让我解释一下......

我们有两个数据库DB_1和DB_2,都有表DB_1.Table1和 DB_2.Table2。

假设DB_1有更多的表使用在这里,您只需要在DB_2的表2上提供GRANT到DB_1。或者您可以为DB_2的所有表提供授权(根据您的需要)。这是Oracle的行为方式。如果您的数据库服务器不支持相同的操作,只需将权限(GRANT)赋予DB_1的用户使用多个不同数据库的表。

和查询的样子..

Select t1.id, t1.name,t2.id, t2.name t2 from DB_1.Table1 t1, DB_2.Table2 t2 where... 

而当你写

我想从两个不同的数据库显示一个结果,当用户搜索任何条款!

您的查询就会..

Select t1.id, t1.name from DB_1.Table1 t1 where... 
Union All 
Select t2.id, t2.name from DB_2.Table2 t2 where... 
相关问题