当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

ORACLE9i连接SYBASE的透明网关的配置


  ORACLE实现异种数据库连接服务的技术叫做透明网关(Transparent Gateway)。
  
  目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种主流数据库的互联。
  
  现在通过oracle访问sybase数据库,把配置oracle9i TRANSPARENT GATEWAY FOR SYBASE的步骤写成文档,供需要的网友参考!
  
  配置TRANSPARENT GATEWAY FOR SYBASE步骤
  
  1.oracle所在服务器上安装sybase client(或者在同一台server上安装oracle、sybase服务器)确保能够访问sybase数据库
  
  2.安装TRANSPARENT GATEWAY FOR SYBASE选件,要用自定义安装。

  
  正确选择sybase的安装目录
  
  3.选择一个sid字符串准备赋给sybase数据库。
  
  如:tg4sybs设置SYBASE的dll路径到环境变量PATH(这一步很重要)
  
  4.修改初始化文件,默认的是:
  ORACLE_HOME\tg4sybs\admin\inittg4sybs.ora
  
  设置参数
  HS_FDS_CONNECT_INFO
  
  格式:HS_FDS_CONNECT_INFO= server_name. database_name[,INTERFACE= interface_file]
  server_name. database_name是大小写敏感的。
  INTERFACE可选
  
  例子:如下
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  # This is a sample agent init file that contains the HS parameters that are
  # needed for the Transparent Gateway for Sybase
  
  #
  # HS init parameters
  #
  HS_FDS_CONNECT_INFO=migration_serv.tax
  HS_FDS_TRACE_LEVEL=OFF
  HS_FDS_RECOVERY_ACCOUNT=RECOVER
  HS_FDS_RECOVERY_PWD=RECOVER
  
  #
  # Environment variables required for Sybase
  #
  set SYBASE=d:\sybase
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  上例中
  server_name是migration_serv
  database_name是tax
  
  5.配置oracle网络服务的listener,配置文件是:listener.ora
  
  默认路径:ORACLE_HOME\network\admin
  
  加入如下
  SID_LIST_LISTENER=
  (SID_LIST=
  (SID_DESC=
  (SID_NAME= gateway_sid)
  (ORACLE_HOME= oracle_home_directory)
  (PROGRAM=tg4sybs)
  )
  )
  
  gateway_sid就是3选择的sid字符串
  oracle_home_directory是ORACLE_HOME
  tg4sybs若是SYBASE是特定的。如果是其他数据库,会不同。
  例子如下:
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  (SID_DESC=
  (SID_NAME=tg4sybs)
  (ORACLE_HOME = D:\oracle\ora92)
  (PROGRAM=tg4sybs)
  )
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  
  6.停止监听
  
  lsnrctl stop
  
  重新启动监听程序
  
  lsnrctl start
  
  7.配置oracle server的tnsnames.ora使其能够访问sybase
  connect_descriptor=
  (DESCRIPTION=
  (ADDRESS=
  (PROTOCOL=TCP)
  (HOST= host_name)
  (PORT= port_number)
  )
  (CONNECT_DATA=
  (SID= gateway_sid))
  (HS=OK))
  
  connect_descriptor是连接串,任取,一般为sybs
  host_name:oracle server的name
  port_number:oracle监听端口
  gateway_sid就是3选择的sid字符串
  
  例子如下:
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  sybs=
  (DESCRIPTION=
  (ADDRESS_LIST =
  (ADDRESS=(PROTOCOL=TCP)(HOST= dw-server1)(PORT= 1521))
  )
  (CONNECT_DATA=
  (SID= tg4sybs)
  )
  (HS=OK)
  )
  
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  
  8.建立database link
  
  如:
  CREATE DATABASE LINK sybs CONNECT TO sa
  IDENTIFIED BY prient
  USING 'SBYS' ;
  
  即可访问sybase 数据库。
  
  需要注意的是,sybase数据库的表名,字段名,如果是小写的,那么在oracle里访问的时候要加上双引号""
  
  如:
  SQL〉select "a" from "b"@sybs;
相关内容
赞助商链接