DB2数据库之间联邦

现在有以下两个数据库:sample,QIN

需要在数据库QIN中访问sample中的表ACT

1.数据库编目

C:UsersQIN>db2 catalog tcpip node OLIVER remote localhost server 50000
DB20000I CATALOG TCPIP NODE 命令成功完成。
DB21056W 直到刷新目录高速缓存之后,目录更改才生效。

C:UsersQIN>db2 terminate
DB20000I TERMINATE 命令成功完成。

2.先建立WRAPPER 

CREATE WRAPPER DRDA
OPTIONS
(DB2_FENCED 'N') ;

3.建立SERVER

语法:create server <server_name> type DB2/UDB version 9.7 wrapper "DRDA" authorization <对方用户> password <对方密码> options (NODE '<node_name>',dbname '<对方数据库>')

create server CONN_BIR type DB2/UDB version 10.5 wrapper "DRDA" authorization "OLIVER" password "weiyideai" options (NODE 'OLIVER',dbname 'sample')

执行代码出错如下:

解决办法:

db2  update dbm cfg using FEDERATED YES

设置完成后重启实例。 

4.创建MAPPING

语法:create user mapping for <本地用户> server <server_name> options (remote_authid '<对方用户>', remote_password '对方密码')

create user mapping for "OLIVER" server conn_BIR options (remote_authid 'OLIVER', remote_password '***')

5.创建联邦关系表

语法:create nickname <schema.table_alias_name> for <server_name.对方用户名.table>

create nickname OLIVER.ACT_NICKNAME for conn_BIR.OLIVER.ACT

6.数据查询

SELECT * FROM ACT_NICKNAME

相关参考:
db2 list node directory 
db2 list db directory 
DROP USER MAPPING FOR authorization_name SERVER server_name 
DROP NICKNAME nickname 
DROP WRAPPER wrapper_name 
DROP SERVER server_name[@more@]

原文地址:https://www.cnblogs.com/OliverQin/p/6068411.html