现在有以下两个数据库: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@]