DB2 创建远程联合数据库

本文创建的都是DB2的数据库,解决的问题是想在同一个sql里面访问不同数据库中的内容。本文中的不同数据库分布在不同的server。

 

主server: 192.168.227.99:50000/SAMPLE          用户:db2inst1
远程server: 192.168.227.100:50000/SAMPLE      用户: dsadmin

 

步骤:

 

1. 在主server中用db2inst1账户登录

 

2. 编目远程数据库。

    db2 catalog tcpip node train remote 192.168.227.100 server 50000

    db2 catalog db sample as trainsample at node train

 

3. 设置数据库参数FEDERATE为YES

    DB2 UPDATE DBM CFG USING FEDERATED YES

 

4. 重启实例

    db2stop, db2start

 

5. 连接sample数据库

 

6. 创建包装器

    db2 "CREATE WRAPPER DRDA"

 

7. 创建server

    db2 "CREATE SERVER TRAINSAMPLE TYPE DB2/UDB VERSION '9.5' WRAPPER "DRDA" AUTHID "db2admin" PASSWORD "db2admin" OPTIONS( ADD NODE 'TRAIN',ADD DBNAME 'TRAINSAMPLE')"

 

8. 创建用户映射

    db2 "CREATE USER MAPPING FOR "db2inst1" SERVER "TRAINSAMPLE" OPTIONS ( ADD REMOTE_AUTHID 'db2admin', ADD REMOTE_PASSWORD 'db2admin')"

 

9. 映射远程表到本地数据库(为远程表创建一个昵称)

    CREATE NICKNAME DB2INST1.TRAINEMPLOYEE FOR TRAINSAMPLE.DB2ADMIN.EMPLOYEE

 

其中DB2INST1为模式名, TRAINEMPLOYEE为本地昵称(类似表名), TRAINSAMPLE为之前创建的服务器名, DB2ADMIN是远程数据库表employee的模式名, EMPLOYEE是远程数据库中的表名。

 

 

好了,现在用db2 list tables就可以看到映射过来的表了,并且可以做db2admin相应权限的操作。(如查看,插入等)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值