现在的位置: 首页 > 综合 > 正文

配置 Oracle 透明网关访问 SQL Server

2012年10月28日 ⁄ 综合 ⁄ 共 1199字 ⁄ 字号 评论关闭

试验环境:

OS:XP
ORACLE 10.1
SQLSERVER2000
HOSTNAME:home-30b98e1e20
都使用 tcp/ip 默认端口
 

1. 安装 TRANSPARENT GATEWAY 选件
使用 Oracle Universal Instraller 在已安装的 ORACLE_HOME 上选择定制安装,选择 Oracle Transparent Gateways for Microsoft SQL Server,
安装完成了以后有这样一个目录 $oracle_home\tg4msql

2. 在 $oracle_hometg4msqladmin 目录下建立文件 initsql2000.ora其中内容为:
HS_FDS_CONNECT_INFO=home-30b98e1e20.test # home-30b98e1e20 为SQL服务器名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

3. 配置 LISTENER.ORA

(SID_DESC =
(GLOBAL_DBNAME = tg4sql) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # 与上一步文件名 initsql2000.ora 中的 sql2000 相同
(ORACLE_HOME = E:\oracle\product\10.1.0\Db_1)
)

4. 使用 Windows 中的“服务” 重启 Oracle LISTENER 和 DATABASE 服务

5. 配置 tnsnames.ora

sql2000 =
    (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = home-30b98e1e20)(PORT = 1521))
        )
        (CONNECT_DATA =
            (SID = sql2000)
        )
        (HS = OK)
    )

6. 建立 DATABASE LINK

CREATE DATABASE LINK DB_SQL CONNECT TO SA IDENTIFIED BY PASSWORD USING 'sql2000';

7. 测试

select * from t1@sql2000;

注意:

1. HS_FDS_CONNECT_INFO=home-30b98e1e20.test 中的服务名写成 localhost 或 local 在测试时会有挂起问题;
2. 使用 DBLINK 时,关于 spfile 中 GLOBAL_NAME 的设置:
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到;
如果为 FALSE, 不必使用全称,当出现 “ORA-02019:为找到远程数据库的连接说明”时,请使用全称,如:

select * from t1@sql2000.ORACLE.COM

 

抱歉!评论已关闭.