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 g4sybsadmininittg4sybs.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 etworkadmin
加入如下
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:oracleora92)
(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;