DB2创建远程联合数据库

作者: 5473 分类: DB2 发布时间: 2015-03-18 20:21 阅读数:1055

使用DB2联合数据库,您可以使用一条SQL语句查询多个数据源中的数据。

注意:两个数据库在不同的服务器上

主server: 10.3.3.115:60000/SLPDB          用户:db2inst1

远程server: 10.3.3.114:60000/SLPDB      用户: db2inst1

以下配置均在主server上!
1.编目远程数据库。
db2 catalog tcpip node train remote 10.3.3.114 server 60000
db2 catalog db SLPDB as tr_SLPDB at node train
 
2.设置数据库参数FEDERATE为YES
db2 get dbm cfg |grep federated
Bypass federated authentication            (FED_NOAUTH) = NO 
db2 UPDATE DBM CFG USING FEDERATED YES
 
3.重启实例
db2stop force
db2start
 
4.连接SLPDB数据库
db2 connect to SLPDB
 

5. 创建包装器
db2 “CREATE WRAPPER DRDA” 

6. 创建server
db2 “CREATE SERVER tr_SLPDB TYPE DB2/UDB VERSION ‘9.7’ WRAPPER \”DRDA\” AUTHID \”db2inst1\” PASSWORD \”1qaz2wsx\” OPTIONS( ADD NODE ‘TRAIN’,ADD DBNAME ‘tr_SLPDB’)” 

7. 创建用户映射
db2 “CREATE USER MAPPING FOR “db2inst1” SERVER “tr_SLPDB” OPTIONS ( ADD REMOTE_AUTHID ‘db2inst1’, ADD REMOTE_PASSWORD ‘1qaz2wsx’)” 

8. 映射远程表到本地数据库(为远程表创建一个昵称)
db2 “CREATE NICKNAME BSS.NK_SSO_APPS FOR tr_SLPDB.BSS.SSO_APPS”

其中BSS为模式名, NK_SSO_APPS为本地昵称(类似表名), tr_SLPDB为之前创建的服务器名, BSS是远程数据库表SSO_APPS的模式名, SSO_APPS是远程数据库中的表名。

9.测试
db2 list tables for schema BSS
db2 “select * from  BSS.NK_SSO_APPS”

10.其他命令
DROP SERVER server_name
DROP USER MAPPING FOR authorization_name SERVER server_name
DROP NICKNAME nickname
DROP WRAPPER wrapper_name

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注