Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1359|回复: 0

在DB2中如何联合Oracle数据

[复制链接]

该用户从未签到

发表于 2011-8-3 20:40:50 | 显示全部楼层 |阅读模式
【IT168 技术】  DB2联合Oracle数据步骤

  1、安装DB2

  2、安装关系连接器

  或者安装InfoSphere DB2(InfoSphere DB2是一个受限的DB2版本,它具有关系连接器,可以连接到其它关系数据库,如SQL Server,Oracle,Sybase等),你不需要安装IBM的DataDirect ODBC驱动来连接Oracle,因为我们要安装Oracle客户端,从DB2服务器连接到Oracle(InfoSphere DB2一向被视为IBM Webspehere Federation Server)。

  安装Oracle客户端

  下载正确的Oracle客户端,将其安装在zLinux DB2服务器上。参照一下步骤让Oracle和DB2可以正确地相互通信。

找出创建DB2实例的组,可以在你的DB22 Home目录下使用ls –l命令找出组名,如果你使用默认的组名,那就是db2iadm1,我们将使用这个组名创建Oracle用户;
为Oracle客户端创建一个用户id,如oracle,并指定与DB22实例相同的组名,我们这么做的目的是不修改Oracle客户端安装目录下的文件权限,保证DB2实例可以访问Oracle客户端的文件;
启动Oracle客户端GUI安装程序开始安装Oracle客户端,打上Oracle推荐的补丁;
安装完成后,向你Oracle DBA要tnsnames.ora,以便将其中的内容复制到tnsnames.ora文件中,如果你不知道如何做,请咨询你的Oracle DBA;
以Oracle用户登录,输入tnsping命令,从zLinux能ping通Oracle数据库;
输入$ echo $ORACLE_HOME,注意输出的信息,因为后面在配置联合Oracle表时会用到;
以DB2实例用户登录,在.bashrc文件中增加以下内容:1 export ORACLE_HOME=/opt/oracle/product/10.2/db_1  
2 export PATH=$ORACLE_HOME/binPATH 将ORACLE_HOME修改为第6步中输出的路径。
注销,再以DB2实例用户登录,输入tnsping,你应该能成功ping通;
使用SQL*Plus连接到你的Oracle数据库。
  当你从DB2成功连接到Oracle后,现在就可以安装Oracle关系连接器了,然后在DB2中为Oracle表创建别名。

  安装InfoSphere DB2或DB2/关系连接器

  在现有DB2实例上,你要么安装IBM InfoSphere DB2,要么安装DB2关系连接器,然后才能从DB2联合其它数据源,如SQL Server或Oracle。

  跟着InfoSphere DB2的GUI安装向导,或在现有DB2实例上安装关系连接器时,在“选择安装功能”屏幕上,仅选择Oracle数据源支持。

  GUI安装完后,安装程序会创建libdb2net8F.so库,但如果GUI安装程序找不到g++命令,库的创建就会失败。

  进入~/sqllib/lib64目录,你将会看到主要的库文件Oracle libdb2net8.so,其它两个文件是libdb2net8F.so和libdb2net8U.so。

  进入$HOME/sqllib/cfg目录,检查db2dj.ini文件的内容,如果你在安装期间设置的信息有点不对,现在你可以手工进行修改。

1 $ cat db2dj.ini
2 DJX_ODBC_LIBRARY_PATH=/opt/ibm/WSII/odbc/lib
3 ODBCINI=/home/db2inst1/odbc.ini
4 ORACLE_HOME=/opt/oracle/product/10.2/db_1

        确保ORACLE_HOME与你在.bashrc文件中指定的.bashrc完全匹配,DJX_ODBC_LIBRARY_PATH和ODBCINI是为SQL Server准备的。

  如果你修改了db2dj.ini文件,请重启实例。

1 $ db2stop force
2 $ db2start
         现在可以创建Oracle封装器了,最简单且不容易犯错的方法是使用DB2控制中心工具,你可以将每一步的命令保存到文件中,以便将来需要时直接调用。

  1、首先将DBM CFG参数设置为FEDERATED=YES

1 $ db2 get dbm cfg | grep -i federate   Federated Database System Support           (FEDERATED) = YES
        2、在服务器或客户端上启动db2cc,编目DB2系统,实例和数据库名。

  A)创建一个封装器,在变量窗口指定ORACLE_HOME的值。

  B)创建一个服务器定义,指定NODE名与Oracle服务名或SID一致,对于正确建立连接这些很重要。

  C)创建用户映射。

  D)创建别名,你应该能够发现Oracle表名,如果不行,重复上述步骤,确保你的ORACLE_HOME,SID定义正确。

  现在你已经有了Oracle表的别名了,你就可以在DB2中任意使用了。

  原文名:Federation of Oracle Data in DB2

  作者:Vikram Khatri
回复

使用道具 举报

该用户从未签到

发表于 2011-8-3 20:41:05 | 显示全部楼层
很好,
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-9-24 10:19:07 | 显示全部楼层
谢谢楼主分享啊。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-9-27 04:12:56 | 显示全部楼层
联系电话【13692278253】刘生【QQ:879631858】本公司长期开增值,普通发票★验后付款★

    ★信誉第一★代理增值税,商品销售,服务,建筑安装工程,运输业,广告业,海关缴款书,煤炭,

    钢材,钢铁,商业统一,国际货运,建材,酒店,住宿,办公用品,劳保用品,设计费,咨询费,机械械设备,

    服装费,制作费,房屋租赁,汽车配件,装修,装饰,医疗器械,汽车用品,石材,石子,纺织,展览费,礼品

    ,货运,国税,地税,定额,工程款,材料款,机动车销售,人工费,劳保费,个人税,租赁,场地租赁.

    联系电话【13692278253】刘生
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-9-27 04:13:46 | 显示全部楼层
联系电话【13692278253】刘生【QQ:879631858】本公司长期开增值,普通发票★验后付款★

    ★信誉第一★代理增值税,商品销售,服务,建筑安装工程,运输业,广告业,海关缴款书,煤炭,

    钢材,钢铁,商业统一,国际货运,建材,酒店,住宿,办公用品,劳保用品,设计费,咨询费,机械械设备,

    服装费,制作费,房屋租赁,汽车配件,装修,装饰,医疗器械,汽车用品,石材,石子,纺织,展览费,礼品

    ,货运,国税,地税,定额,工程款,材料款,机动车销售,人工费,劳保费,个人税,租赁,场地租赁.

    联系电话【13692278253】刘生
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-12-23 09:39 , Processed in 0.764046 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表