Oracle DB server使用透明网关(Transparent gateway)连接MS SQL Server

Oracle Transparent GateWay For MS SQL提供了oracle访问SQL Server的功能,它们三者可以安装在同一台机器上,也可一安装在不同机器上。

由于本人Oracle DB是安装在Linux环境下,而Oracle Transparent Gateway For MS SQL只能安装在WIN32的环境下,同时不想影响目前Server3的配置,所以将Oracle Transparent Gateway安装在装有WinXPServer2机器上。

一下是具体的安装配置;

[@more@]

环境:

SERVER1:

IP: 192.168.0.165

HOSTNAME: CO44

OS: Cent OS 4.4

DB: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0

用途:安装Oracle DB Server

SERVER2:

IP: 192.168.0.111

OS: WinXP Professional Edition SP2

DB:

用途:安装Oracle Transparent Gateway

SERVER3:

IP: 192.168.0.165

HOSTNAME: ERP01

OS: Windows 2000 Server SP4

DB:MS SQL Server 2005

用途:安装MS SQL Server DB

目的:

为了使Oracle DB能够访问到MS SQL Server DB;

安装和配置方法:

1. Server2上安装Oracle Transparent Gateway;

Oracle 网站上 download安装文件: oracle_10201_gateways_win32;

由于本人Oracle DB是安装在Linux环境下,而Oracle Transparent Gateway For MS SQL只能安装在WIN32的环境下,同时不想影响目前Server3的配置,所以将Oracle Transparent Gateway安装在装有WinXPServer2机器上。

A. Server2上安装:

a.输入ORACLE_HOME

b.安装的时候选择“透明网关( Oracle Transparent gateway for MS SQL Sever)”

c.输入你要连接的MS SQL Sever的机器名和数据库名

d.点击“安装”

d.安装结束

B. Server2上的配置:

a. 修改$ORACLE_HOME/tg4msql /admin/inittg4msql.ora文件:

HS_FDS_CONNECT_INFO=ERP01.ERP2000 --你需要连接的MS SQL Sever数据库信息,格式:servername.dbname

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

b. 修改$ORACLE_HOME/network/admin/listener.ora文件:

(红色位新增部分)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = c:oracleproduct10.2.0tg_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = tg4msql) --备注:该处SID_NAME必须与inittg4msql.ora文件名中红色部分一致

(ORACLE_HOME = c:oracleproduct10.2.0tg_1)

(PROGRAM = tg4msql)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

)

)

c. 修改$ORACLE_HOME/network/admin/tnsname.ora文件:

tg4msql =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST=localhost)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = tg4msql)

)

(HS=OK)

)

o10g =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.165)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = o10g)

)

)

d. 一定要记住,在XPFirewall下开放1521port,否则其他机器无法访问该listener

e. 重新启动Listener

DOS下运行lsnrctl stop;

Lsnrctl start;

C. Server1上配置Tnsname

a.$ORACLE_HOME/network/admin/tnsname.ora文件中加入

tg4msql =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.0.111)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = tg4msql)

)

(HS=OK)

)

D.在client端用sqlplus连接到Server1Oracle DB

Connect scott/tigger@o10g

Create database link ora2msql identified by “sa” identified by “sa” using ‘tg4msql’;

--注意MS SQL Sever DB的用户名和口令的大小写;

查询MS SQL Sever中的table

Select * from accic@ora2msql;

查询正常;

Update accic@ora2msql set acc_na=’a’

Where acc_no=’1’

修改正常;

Rollback

E.说明配置正常,收工!!

注:ORA-28545ORA-28500 的问题

在配置的时候曾出现过ORA-28545ORA-28500的错误提示,需检查inittg4msql.ora文件中HS_FDS_CONNECT_INFO=ERP01.erp2000是否配置正确,以及文件中SID部分与listener.ora文件中SID是否一致;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10490/viewspace-906137/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10490/viewspace-906137/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值