DB2 跨库访问问题

岁月之梦 2011-03-07 04:52:58
请教:

我现在的DB2 装在不同的网段上

现在要求是写一条sql 连接到不同网段上的db2上访问不同数据库上的不同表。请问有这方面经验可以分享的

ip:192.168.1.6 数据库名:reportDB 用户名:admin 密码:admin 表:table1
ip:192.168.1.8 数据库名:testDB 用户名:admin2 密码:admin2 表:table2

select * from reportDB.table1 where id in (select id from testDB.table2

就是想要这样的一个结果。(这样写的sql肯定是查不出来的)。

谢谢了。
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangxiao_jiang 2011-03-07
  • 打赏
  • 举报
回复
这种情况,只能是联邦数据库实现。
WWWWA 2011-03-07
  • 打赏
  • 举报
回复
要用联邦,参考
http://www.db2china.net/club/viewthread.php?tid=3784
DB2联邦配置测试

平台环境:
远程数据库:sample44库;版本:DB2V9.1;操作系统:AIX
本地数据库:sample库;版本:DB2V9.1;操作系统:windowsXP





1. 修改远程源数据库和本地目标数据库的DBM实例参数,启用联邦访问支持(修改后需重启实例生效)


db2 "UPDATE DBM CFG USING FEDERATED YES"



db2 stop


db2 start





2. 将远程源数据库sample44在本地编目



db2 catalog tcpip node sample44 remote 130.30.15.44 server 50000


db2 catalog db sample as sample44 at node sample44



db2 terminate





3. 本地目标库上创建联邦访问所需的数据库对象


a. 连接到本地目标数据库



db2 connect to sample





b. 创建包装器


DB2 CREATE WRAPPER DRDA LIBRARY 'db2drda.dll'





c. 创建服务器



DB2 CREATE SERVER SAMPLE44 TYPE DB2/UDB VERSION '9.1' WRAPPER DRDA AUTHID \"db2inst1\" PASSWORD \"db2inst1\" OPTIONS( ADD DBNAME 'SAMPLE44')





d. 创建用户映射


DB2 CREATE USER MAPPING FOR FENGSH SERVER SAMPLE44 OPTIONS ( ADD REMOTE_AUTHID 'db2inst1', ADD REMOTE_PASSWORD 'db2inst1')





e. 创建别名



DB2 CREATE NICKNAME FENGSH.STAFF44 FOR SAMPLE44.DB2INST1.STAFF






f.通过nickname访问远程表


DB2 SELECT * FROM FENGSH.STAFF44
http://www.ibm.com/developerworks/cn/data/library/techarticles/0304lurie/0304lurie.html
zhaojianmi1 2011-03-07
  • 打赏
  • 举报
回复
google一下吧,数据库联邦
完全能够实现

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧