2010-07-22 59 views
1

我有一个应用程序需要为完全相同的数据查询两个不同的DB2数据库。有没有什么办法可以创建一个视图来查询我的查询,在两个数据库上执行它,合并结果并将它们发送回我的应用程序?跨2个数据库创建DB2视图

回答

3

是的,有点。几年前我们不得不做类似的事情,因为我们的一位客户将数据分成了两个DB2实例,但仍然希望单个查询可以同时获得这两个实例(我们使用的报告工具只能连接到一个实例)。

从内存中,这是一个事:

  • 打开联合会的支持(需要实例,以实例通信)。
  • 使用create wrapper创建包装,因此一个DB2实例知道如何连接到另一个。
  • 使用create server注册其他服务器。
  • 使用create user mapping设置两个实例之间的凭证映射。
  • 使用create nickname在本地实例中为远程表创建别名。

从那里,你只需创建视图,就像这样:

select * from localtable union all select * from nickname; 

,你应该有两个表行。

+0

是否需要联邦支持,如果它的所有在一个实例?如果数据库与另一个数据库名称在同一个实例上,那么“服务器”是什么? – madmaze 2011-03-28 23:13:11