配置TRANSPARENT GATEWAY FOR Sybase步骤
Oracle所在服务器上安装Sybase client(或者在同一台server上安装OracleSybase服务器)确保能够访问Sybase数据库;
安装TRANSPARENT GATEWAY FOR Sybase选件要用自定义安装正确选择Sybase的安装目录;
选择一个sid字符串准备赋给Sybase数据库如tgsybs设置Sybase的dll路径到环境变量PATH(这一步很重要);
修改初始化文件默认的是
Oracle_HOME\tgsybs\admin\inittgsybsora
设置参数
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_servtaxHS_FDS_TRACE_LEVEL= OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER ## Environment variables required for Sybase#set SYBASE=d:\sybase
上例中
server_name是migration_serv
database_name是tax
配置oracle网络服务的listener配置文件是listenerora
默认路径ORACLE_HOME\network\admin
加入如下
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME= gateway_sid)(ORACLE_HOME= oracle_home_directory)(PROGRAM=tgsybs)))
gateway_sid就是选择的sid字符串
oracle_home_directory是ORACLE_HOME
tgsybs若是SYBASE是特定的如果是其他数据库会不同
例子如下
(SID_DESC=(SID_NAME=tgsybs) (ORACLE_HOME = D:\oracle\ora)(PROGRAM=tgsybs))
停止监听
lsnrctl stop
重新启动监听程序
lsnrctl start
配置oracle server的tnsnamesora使其能够访问sybase
connect_descriptor=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST= host_name)(PORT= port_number)) (CONNECT_DATA=(SID= gateway_sid))(HS=OK))
connect_descriptor是连接串任取一般为sybs
host_nameoracle server的name
port_numberoracle监听端口
gateway_sid就是选择的sid字符串
例子如下
sybs=(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP) (HOST= dwserver)(PORT= ))) (CONNECT_DATA=(SID= tgsybs))(HS=OK))
建立database link
如
CREATE DATABASE LINK sybs CONNECT TO sa IDENTIFIED BY prient USING SBYS ;
即可访问sybase 数据库
需要注意的是sybase数据库的表名字段名如果是小写的那么在oracle里访问的时候要加上双引号
如
SQL〉select a from b@sybs;
Oracle访问Sybase数据库的方法