DB2数据库联邦(跨库查询)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huryer/article/details/83383040

实验目的

在本地数据库 sample 中直接查询远程数据库remoteDb的表:tab_test

1、查看数据库版本配置

– 本地数据库:sample

db2licm -l
产品名: “DB2 Express-C”
许可证类型: “无担保”
到期日期: “永久”
产品标识: “db2expc”
版本信息: “10.5”
最大 CPU 数目: “2”
最大内存量 (GB): “16”
强制策略: “软停止”

– 远程数据库:[email protected]

db2licm -l
产品名: “DB2 Express-C”
许可证类型: “无担保”
到期日期: “永久”
产品标识: “db2expc”
版本信息: “9.7”
最大 CPU 数目: “2”
最大内存量(GB): “2”

2、数据库编目

db2 catalog TCPIP node n_102 remote 192.168.1.102 server 50000
db2 catalog db remoteDb as remoteDb200 at node n_102

db2 list node directory
db2 list db directory

3、确认本地dbm的配置项 federated 开启

db2 get dbm cfg | find /i “fed”
db2 update dbm cfg using federated yes
– 设置完成后,需要重启实例

4、登录DB2数据库后,查询当前用户的用户模式

select current schema from sysibm.dual ;

5、创建DRDA包装器(WRAPPER)

CREATE WRAPPER DRDA OPTIONS (DB2_FENCED ‘N’) ;

6、创建服务器(SERVER)

– 语法:

create server <server_name>
type DB2/UDB version 9.7 wrapper “DRDA”
authorization <对方用户> password <对方密码>
options (NODE ‘<node_name>’,dbname ‘<对方数据库>’)

– 示例:

CREATE SERVER tempserver
TYPE DB2/UDB
VERSION 9.7
WRAPPER DRDA
AUTHORIZATION “remote_user_name”
PASSWORD “remote_user_pwd”
OPTIONS (node ‘n_102’, DBNAME ‘remoteDb200’);

7、创建用户映射Mapping

– 语法:

create user mapping for <本地用户> server <server_name>
options (remote_authid ‘<对方用户>’, remote_password ‘对方密码’)

– 示例:

CREATE USER MAPPING FOR admin
SERVER tempserver
OPTIONS
(REMOTE_AUTHID ‘remote_user_name’
,REMOTE_PASSWORD ‘remote_user_pwd’
);

8、创建联邦关系表

– 语法:

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

– 示例:

CREATE NICKNAME tab_test FOR tempserver.remote_user_name.tab_test;

9、数据查询

– 语法:

select * from <schema.table_alias_name> ;

– 示例:

SELECT * FROM tab_test

10、测试结果清理:

– 语法:

DROP NICKNAME nickname;
DROP USER MAPPING FOR authorization_name SERVER server_name;
DROP SERVER server_name[@more@];
DROP WRAPPER wrapper_name;

– 示例:

DROP nickname tab_test;
DROP USER mapping FOR admin SERVER tempserver;
DROP SERVER tempserver;
DROP wrapper drda;

参考:

https://blog.csdn.net/liufuwu1/article/details/70761475
https://www.cnblogs.com/OliverQin/p/6068411.html

猜你喜欢

转载自blog.csdn.net/huryer/article/details/83383040