跨2个数据库创建DB2视图

时间:2010-07-22 04:34:07

标签: database db2

我有一个应用程序需要查询两个不同的DB2数据库以获得完全相同的数据。有没有办法创建一个视图来接受我的查询,对两个数据库执行它,组合结果,并将它们发送回我的应用程序?

1 个答案:

答案 0 :(得分:3)

是的,有点儿。几年前我们不得不做类似的事情,因为我们的一个客户将数据分成两个DB2实例,但仍然需要单个查询来获取它们(我们使用的报告工具只能连接到一个实例)。 p>

从内存来看,这是一个问题:

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

从那里,您只需创建视图:

select * from localtable union all select * from nickname;

你应该有两个表中的行。