前提条件:
oracle DB(10g), gateway(11g,32位), sql server ,oracle client(10g)分别在4台电脑上
步骤:
1,修改gateway 目录下 tg_1\dg4msq\admin\initdg4msql.ora
HS_FDS_CONNECT_INFO=数据库ip//数据库名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=sql server账号
HS_FDS_RECOVERY_PWD=sql server密码
2,修改gateway 目录下 tg_1\network\admin\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = D:\product\11.2.0\tg_1)
(PROGRAM = dg4msql)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =gateway 所在电脑ip)(PORT =gateway 设置的监听端口))
)
ADR_BASE_LISTENER = D:\product\11.2.0\tg_1
3, 配置好后,在gateway 目录下 tg_1\bin\LSNRCTL.exe, 执行stop,在执行start
4,修改oracle DB目录下,db_1/netwrok/admin/tnsnames.ora
dg4msql=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=gateway 所在电脑ip)
(PORT=gateway 设置的监听端口)
)
(CONNECT_DATA=
(SID=dg4msql)
)
(HS=OK)
)
5,oracle client 执行sql语句
create database link link_name
connect to "sqlerver账号" identified by "密码"
using ' (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=gateway 所在电脑ip)(PORT=gateway 设置的监听端口))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
) '
6,以上配置成功,可以查询sql server数据了
7,备注:
tg_1\dg4msq\admin\initdg4msql.ora 与 (SID_NAME=dg4msql) 与 (CONNECT_DATA=(SID=dg4msql)),是gateway 的SID名称,只要保持一致就可以。