以下的文章主要是介绍Oracle数据库访问SYBASE相关数据的实际操作,以及配置TRANSPARENT GATEWAY FOR Sybase的实际操作步骤,以下就是其具体方案的描述,希望在你今后的学习中会有所帮助。
1.Oracle 所在服务器上安装Sybase client(或者在同一台server上安装Oracle 、Sybase服务器),确保能够Oracle 访问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.taxHS_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
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.停止监听
lsnrctlstop
重新启动监听程序
lsnrctlstart
7.配置Oracle server的tnsnames.ora使其能够Oracle 访问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
如:
CREATEDATABASELINKsybsCONNECTTOsaIDENTIFIEDBYprientUSING'SBYS';
即可访问sybase 数据库。
需要注意的是,sybase数据库的表名,字段名,如果是小写的,那么在Oracle 里访问的时候要加上双引号""
如:
SQL〉select"a"from"b"@sybs;