通过DB2联绑技术访问oracle[实践]

最近的一个项目有个需求:其中A项目采用的DB2数据库,B项目采用的是oracle数据库,它们用到彼此当中的一些数据,而且必须是接近实时的数据.

 

我的实践步骤:

 

1.  所需环境

     a) 准备好两台机器(一台也可以),假设为A机器,B机器;

     b) 在A机器上安装好的oracle 数据库,并且可以连通(实践用的是oracle9i)

           1)在sqlplus中使用具有创建另一个用户的权限的帐户连接至 Oracle 之后,执行命令:

                SQL> CREATE USER fsww_zx IDENTIFIED BY a;

                SQL> GRANT RESOURCE TO jmyb_zx;
                SQL> GRANT CREATE SESSION TO fsww_zx;
            2)建测试表

                SQL> CONN fsww_zx/a@164

                SQL> create table TEST
                         (
                         XM     VARCHAR2(50),
                         GMSFHM VARCHAR2(25)
                         );
 

     c) 在B机串上安装好oracle客服端,备配好连接,测试是否可以连接A机器上的oracle数据库

           (略)

     d) 在B机器上安装好的DB2数据库,并可以连通(实践用的是DB2 for Linux, UNIX and Windows)

           (略)

 

 

2.  准备所需软件

 

     a)下载Websphere Information Integrator Relational Wrappers 

      在http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21255394 下载对应版本.

 

       注意:  Websphere Information Integrator Relational Wrappers 所属版本必须与DB2 管理工具相关标示一一对应,否则安装不了.

 

如:

============================================================

Websphere Information Integrator Relational Wrappers 

============================================================

          PTF number:   WR21392
          Build level:     s070719
          Prerequisite:   V9.1 GA
          Signature:      9.1.300.257
          Release Date:15 Aug 2007

 

 

============================================================
关于 DB2 管理工具环境
============================================================
DB2 管理工具级别:
产品标识                        SQL09013
级别标识                        01040107
级别                          DB2 v9.1.300.257
构件级别                        s070719
PTF                         WR21392

 

    b) 安装(这里只选择oracle包装器):

 

 

 

 

2.  配置

       在上一步安装 Websphere Information Integrator Relational Wrappers 之后,在 DB2安装目录/IBM/cfg 目录下的 db2dj.ini 文件应该已有环境变量 ORACLE_HOME 被设置为您的 Oracle 安装的 ORA92 文件夹。如果没有则手工设置. 下面是实践时 db2dj.ini 文件内容的屏幕快照:

     a) 连接到DB2数据库(假设已有用户herong 密码wskaps )

         db2 => connect to toolsdb user herong using wskaps

        

     b 创建包装器

          db2 => CREATE WRAPPER NET8 LIBRARY 'db2net8.dll'

 

          NET8 为包装器名

         

     c) 创建服务定义

         CREATE SERVER FSWW_ZX TYPE ORACLE VERSION '9i' WRAPPER NET8 OPTIONS( ADD NODE '164')

     

   上述语法遵循下面这段一般形式的语法:

CREATE SERVER "
        oraserver" TYPE 
        datasource VERSION '
        x.y'
WRAPPER "
        wrappername" OPTIONS (NODE '
        net_service_name')
 
  

  • oraserver 是 Oracle 数据库相对于 DB2 联邦服务器的名称。
  • datasource 指的是我们配置要访问的数据源服务器的类型。在我们的例子中,我们使用的是 Oracle。
  • x.y 指的是我们要访问的 Oracle 数据库服务器的版本。
  • wrappername 指的是在本文的前面我们在 CREATE WRAPPER 语句中指定的名称。
  • net_service_name 指的是我们在前面看到的 tnsnames.ora 文件中出现的 Net Service Name。

        d) 创建用户影射

         DB2=>CREATE USER MAPPING FOR HERONG SERVER FSWW_ZX OPTIONS ( ADD REMOTE_AUTHID 'fsww_zx', ADD  REMOTE_PASSWORD 'a')

         

           其中:HERONG 为DB2登录用户名

                  FSWW_ZX 为上一步创建的服务定义名

                  'fsww_zx' 为oralce 登录用户名

                   'a' 为oralce 登录用户密码

         

        e) 创建昵称

           DB2=>CREATE NICKNAME HERONG.DB2TEST FOR FSWW_ZX.FSWW_ZX.TEST

          其中:HERONG.TEST   格式为:DB2用户名.要创建的昵称名

                 FSWW_ZX.FSWW_ZX.TEST   格式为:服务定义名.oracle用户名.表名

3. 测试

 

        上述步骤都完成了之后,测试一下.

        DB2=> select * from db2test;

    

 

 

    JDBC 简单测试:

 

      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值