zoukankan      html  css  js  c++  java
  • 联邦数据库的一个例子(转)

    转自:http://bbs.51cto.com/archiver/tid-496967.html

    联邦数据库的一个例子!

    联邦数据库的理解就不说了哈!
    下边就一个例子来配置:
    在3.40上创建基于4.5的联邦数据库的过程:

    1.设置联邦数据库开关
    db2 update dbm cfg using federated yes
    db2stop
    db2start
    db2
    2.为远程数据库创建“包装器”:
    create wrapper drda
      --drda为名称
    3.
    定义联邦服务器
    create server tstsvr
    type DB2/AIX --数据库类型
    version 8.1  --版本
    wrapper drda authorization "db2admin" password "...." options(NODE 'SERVER',dbname 'DW');
    --
    authorization 为远程数据库用户
    -- password 为密码
    --NODE 为远程实例映射到本地的node
    --dbname为远程实例下的数据库名
    commit;
    4.为联邦者认证创建用户映射
    -- create user mapping for "DB2ADMIN" server tstsvr options(remote_authid 'DB2ADMIN',remote_password '....');
    -- commit;
    CREATE USER MAPPING FOR "DB2ADMIN" --db2admin为本地用户
    SERVER TSTSVR
      OPTIONS
       (REMOTE_AUTHID 'db2admin',--远程用户名和3一致
        REMOTE_PASSWORD 777400419419456990610222 --远程秘密和3一致,不过这边有一个加密的过程
       );
       
    5. 表别名 - 访问远程表的“门票”
    create nickname CUST_TYPE_C1_Z for tstsvr.db2admin.CUST_GROUP_C1_Z;
    commit;
    6.测试如下:
    select * from CUST_TYPE_C1_Z;
    --auther:z.x.t
    --前提:用quest center在3.40上配置了关于4.5的catalog,如果没有quest center也可以用以下命令来配置
    --如下:
    1。创建节点实例
    CATALOG TCPIP NODE server
        REMOTE 192.168.4.5
        SERVER 50000
        REMOTE_INSTANCE db2
        OSTYPE NT;
    2。创建实例下的数据库
    CATALOG DATABASE dw
        AS dw
        AT NODE SERVER
         AUTHENTICATION SERVER;

    另一篇:

    联邦数据库访问远程DB2
    假定两个环境host1和host2

    host1,本机
    IP: 192.168.1.192
    DB2 instance: db2inst1 
    DB2 db: local_db

    host2,远程被访问机器
    IP: 192.168.1.195 
    DB2 instance: db2inst1(port=50000,pwd=db2inst1) 
    DB2 db: remote_db 
    table: t_usertable

    现在需要在host1的local_db数据库中访问远程host2上的表t_usertable

    首先需要在host1上把host2节点和remote_db库编目进来 
    db2 catalog tcpip node node_195 remote 192.168.1.195 server 50000 
    db2 catalog db remote_db as remote_db_195 at node node_195 
    db2 TERMINATE (必须使用该命令否则可能导致catalog更新不能生效)

    然后在host1上测试到host2的连通性 
    db2 connect to remote_db_195 user db2inst1 using db2inst1 
    db2 connect reset

    修改host1和host2的实例配置参数,需要重起实例 
    db2 update dbm cfg using FED_NOAUTH yes
    db2stop 
    db2start

    然后连接到host1机器上的local_db数据库中 
    db2 connect to local_db

    (本地为unix环境)create wrapper DRDA;
    (本地为windows环境) create wrapper "DRDA" LIBRARY 'db2drda.dll' OPTIONS( ADD DB2_FENCED 'N');

    create server remoteserver_195 TYPE DB2/UDB VERSION '8.2' WRAPPER DRDA AUTHORIZATION "db2inst1" PASSWORD "db2inst1" OPTIONS( DBNAME 'remote_db_195', PASSWORD 'Y'); 
    CREATE USER MAPPING FOR "db2inst1" SERVER remoteserver_195 OPTIONS ( ADD REMOTE_AUTHID 'db2inst1', ADD REMOTE_PASSWORD 'db2inst1'); 
    CREATE NICKNAME remote_t_usertable FOR remoteserver_195.db2inst1.t_usertable; 
    (其中,wrapper使用DB2数据源的缺省名称DRDA server名称是remoteserver_195,t_usertable表在local_db数据库中的nickname是remote_t_usertable)

    在缺省的db2inst1模式下 然后可以在host1机器上,登陆进local_db,对remote_t_usertable表进行查询等操作了
    db2 'select * from db2inst1.remote_t_usertable' 
    db2 connect reset

  • 相关阅读:
    洛谷P1182 数列分段`Section II`
    洛谷P3902 递增
    洛谷P1678-烦恼的高考志愿
    POJ 3263-Tallest Cow
    洛谷P2280 [HNOI2003]激光炸弹
    POJ 1958
    Vijos 1197
    VirtualBox 导入.vdi文件时报“uuid is exists”错误
    解压常用
    cut 命令
  • 原文地址:https://www.cnblogs.com/millen/p/2302993.html
Copyright © 2011-2022 走看看