当前位置:  数据库>oracle

通过DB2联邦访问Oracle

    来源: 互联网  发布时间:2017-06-21

    本文导语: 1.查看OS和DB的版本OS版本:C:UsersAdministrator>verMicrosoft Windows [版本 6.1.7601]Oracle版本:SQL> select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 6...

1.查看OS和DB的版本
OS版本:
C:UsersAdministrator>ver
Microsoft Windows [版本 6.1.7601]
Oracle版本:
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
DB2版本:
C:UsersAdministrator>db2level
DB21085I  实例 "DB2" 使用 "32" 位和 DB2 代码发行版 "SQL09076",级别标识为
"08070107"。
参考标记为 "DB2 v9.7.600.413"、"s120516" 和 "IP23322",修订包为 "6"。
产品使用 DB2 副本名 "DB2COPY1" 安装在 "C:PROGRA~2IBMSQLLIB" 中。
2.配置DB2安装目录下的sqllib/cfg/db2dj.ini文件,增加如下ORACLE环境变量:
ORACLE_HOME=D:appAdministratorproduct11.2.0dbhome_1
ORACLE_BASE=E:appAdministrator
ORA_NLS33=D:appAdministratorproduct11.2.0dbhome_1nlsdata
TNS_ADMIN=D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN
NLS_LANG=american_CHINA.ZHS16GBK

    3.修改 DBM参数FEDERATED为YES支持联邦
C:>db2 update dbm cfg using FEDERATED YES
DB20000I  UPDATE DATABASE MANAGER CONFIGURATION 命令成功完成。
SQL1362W  未动态更改为立即修改而提交的一个或多个参数。直到下次启动应用程序或发出
TERMINATE 命令之后,客户机更改才会生效。直到下一条 DB2START
命令之后,服务器更改才会生效。
C:>db2 terminate
DB20000I  TERMINATE 命令成功完成。
4.创建测试DB,我就不建了
5.注册oracle包装器
C:>db2 disconnect all
DB20000I  SQL DISCONNECT 命令成功完成。

C:>db2stop
SQL1064N  DB2STOP 处理成功。

C:>db2admin stop
SQL4407W  已成功停止“DB2 管理服务器”。

C:>db2admin start
SQL4406W  已成功启动 DB2 管理服务器。

C:>db2start

SQL1063N  DB2START 处理成功。

C:>db2 create wrapper net8 
DB20000I  SQL 命令成功完成。

或者如下创建也是可以的。
C:>db2 create wrapper net8 LIBRARY 'C:Program Files (x86)IBMSQLLIBBINdb2net8.dll'
DB20000I  SQL 命令成功完成。
DB2官方文档有明确说明,联邦访问oracle必须使用net8,因为有对应的db2net8.dll文件支持,db2drda.ddl也是如此。
官方解释如下:
Register the NET8 wrapper on a federated server to access Oracle data sources. NET8 is the predefined name for the wrapper that you can use to access Oracle data sources.
6.为oracle数据源注册服务器定义
C:>db2 create server f_oracle type oracle version 11.2.0.3 wrapper net8 options(node 'orcl')
DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0103N  数字文字 "11.2.0.3" 无效。  SQLSTATE=42604

C:>db2 create server f_oracle type oracle version 11.2.0 wrapper net8 options(node 'orcl')
DB20000I  SQL 命令成功完成。
7.为oracle数据源创建用户映射:
C:>db2 create user mapping for db2admin Server f_oracle options(remote_authid 'lyn',remote_password 'lyn')
DB20000I  SQL 命令成功完成。
8.创建用户昵称并测试
C:>db2 create nickname nk_orcl for f_oracle.sys.all_users
DB20000I  SQL 命令成功完成。
C:>db2 select count(*) from nk_orcl

1
-----------
        31

  1 条记录已选择。
C:>db2 select count(*) from sys.all_users

COUNT(*)
------------------------
  +3.10000000000000E+001

  1 条记录已选择。

疑问:是不是每访问Oracle用户lyn下的一个表就得建立一个nickname?


    
 
 

您可能感兴趣的文章:

  • 哪位大哥奉献一段调试通过的oracle中存取图片的例子oracle8.1.7,resin-2.1.6
  • 怎么直接通过JDBC连接oracle?
  • windows通过TCP/IP怎么连接到solaris上的oracle?
  • 急。。。在servlet如何连接到oracle(不通过odbc)
  • linux下通过对文件读取方式查询oracle的版本信息
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • 如何在UNIX上通过ODBC操纵Oracle等DBMS???
  • Window客户端通过ADO是否能够连接和操作Unix平台下的Oracle数据库?
  • 可否直接通过JDBC 连上Oracle(我并没有装oracle)
  • 通过win2000在linux上安装oracle,需要一个什么工具?在哪有下?
  • windows下通过ie访问不到linux环境下的oracle em
  • Linux/UNIX下,C++程序通过那些步骤访问Oracle或者Sybase SQL数据库?
  • 通过Oracle发送Email的实现方法
  • unix通过crontab 定时启动oracle应用程序??????????
  • 通过进程id号知道一个Oracle会话所占用的内存
  • oracle通过行范围查询取4至10行
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • 通过一晚上.在2000上装了REDHAT9.再装ORACLE9I
  • 我准备装linux 7.3,大家能给点意见吗,我1GB的内存,那么交换区设多大? oracle9i能在7.3上通过吗?
  • 通过libsqlora8-2.2.10--c语言程序连接oracle数据库,需要连接,查询,修改等,急!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • php开源软件 iis7站长之家
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • Session id实现通过Cookie来传输方法及代码参考
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker search命令搜索可用docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Python3通过request.urlopen实现Web网页图片下载
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3