="t18">
Oracle 9.2.0.1.0 ip:192.168.1.22 port:1521
sql2000 ip:192.168.1.12 db: db1
介绍说明
![](/icons/9318dou.gif)
透明网关可以跟oracle
![](/icons/9318dou.gif)
sql server2000数据库在同
![](/icons/9318yi.gif)
台机器或者区别机器
![](/icons/9318dou.gif)
本例是跟oracle是同
![](/icons/9318yi.gif)
台机
![](/icons/9318dou2.gif)
1: 运行oracle 安装软件Software
![](/icons/9318dou.gif)
安装类型选自定义
![](/icons/9318dou.gif)
选择里面
![](/icons/9318de.gif)
安装oracle transparent gateway 9.2.0.1.0
![](/icons/9318dou.gif)
下面
![](/icons/9318de.gif)
oracle transparent gateway from microsoft sql server 9.2.0.1.0,这里可以看到
![](/icons/9318dou.gif)
还可以选择其他
![](/icons/9318de.gif)
数据库如
![](/icons/9318dou.gif)
sybase等
2:确认透明网关安装成功
![](/icons/9318dou.gif)
会出现D:oracleora92tg4msql目录
![](/icons/9318dou.gif)
配置文件inittg4msql.ora,注重
![](/icons/9318dou.gif)
假如对应
![](/icons/9318de.gif)
listener.ora里面
![](/icons/9318de.gif)
sid_name设置为其他
![](/icons/9318de.gif)
![](/icons/9318dou.gif)
如本例
![](/icons/9318de.gif)
sql2000,那么应该新增
![](/icons/9318yi.gif)
个配置文件对应为initsql2000.ora而不是inittg4msql.ora了
![](/icons/9318dou.gif)
里面内容如下:
HS_FDS_CONNECT_INFO = "SERVER=192.168.1.12; DATABASE=db1"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
3:配置listener.ora
加上在段SID_LIST_LISTENER中加上
(SID_DESC =
(GLOBAL_DBNAME = tg4msql)
(PROGRAM = tg4msql)
(SID_NAME = sql2000)
(ORACLE_HOME = D:oracleora92)
)
其中global_dbname
![](/icons/9318dou.gif)
sid_name可以随意设置
![](/icons/9318dou.gif)
但要注重和D:oracleora92tg4msql
![](/icons/9318de.gif)
配置文件对应
![](/icons/9318dou.gif)
这里为sql2000那么
![](/icons/9318dou.gif)
配置文件为initsql2000.ora
![](/icons/9318dou2.gif)
注:配置完了需要重起监听器
在命令行启动lsnrctl
c:lsnrctl
lsnrctl>stop
lsnrctl>start
4:配置tnsnames.ora
加上
sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wen)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS = OK)
)
这里
![](/icons/9318de.gif)
host为网关
![](/icons/9318de.gif)
主机名或ip地址
![](/icons/9318dou.gif)
端口也是对应
![](/icons/9318de.gif)
![](/icons/9318dou.gif)
这里
![](/icons/9318yinwei.gif)
透明网关同oracle server同
![](/icons/9318yi.gif)
台机器
![](/icons/9318dou.gif)
所以
![](/icons/9318yi.gif)
样sid和listener.ora对应
![](/icons/9318dou.gif)
为sql2000,服务名随便设置
![](/icons/9318dou.gif)
但注重建立db link时要跟这里
![](/icons/9318yi.gif)
样hs=ok 代表异构服务
5:建立数据库连接
drop dabase link db_sql;
create public database link db_sql
connect to wen ident
ied by wen
using 'sql';
其中wen/wen为对应sql server2000里
![](/icons/9318de.gif)
数据库db1
![](/icons/9318de.gif)
用户/密码
6:测试数据连接
SQL> desc football_team@from_sql;
名称
---------------------------------
t_id
t_group
t_name
t_bigpic
t_smallpic
这样
![](/icons/9318dou.gif)
就可以通过透明网关来访问了
7:对远程数据库不答应进行ddl操作
8:假如需要配置对多个sql server数据库进行访问
![](/icons/9318dou.gif)
可以在目录tg4msql中配置多个init.ora文件
![](/icons/9318dou.gif)
里面指定对应
![](/icons/9318de.gif)
数据库同时在listener.ora和tnsnames.ora进行配置
![](/icons/9318dou.gif)
再建立相应
![](/icons/9318de.gif)
db links即可