Callan 发表于 2013-1-13 18:54:10

Oracle Transparent Gateway透明网关

1.在SQL SERVER实现异构服务的技术叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
2.ORACLE实现异构服务的技术叫做透明网关(当然之前ORACLE还采用过通用连接技术),目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。


<span style="">1.在WIN平台下有:
SQL SERVER2000的服务器下
DB: SMS
IP:192.168.202.103
USER:ERP
PWD:rsdcalert
2.在SUN solaries平台下有:
ORACLE9I的服务器下
IP:192.168.202.19
USER:SCOTT
PWD:TIGER
SID:GTTEST
3. 安转ORACLE TRANSPARENT GATEWAY的主机IP是:192.168.168.38
打算使用一台中间的服务器(主机IP是:192.168.168.38)来安装ORACLE透明网冠,来实现ORACLE数据库连接到SQL SERVER的数据库。

实现方法:
STEP1:
安装ORACLE TRANSPARENT GATEWAY软件,(D:\oracle\product\10.2.0\tg_1\)我用的是10g的版本(可以到OTN去DOWNLOAD:
http://www.oracle.com/technology/software/index.html,进入数据库部分,就可以下载了。)10G的版本可以兼容9i的数据库.安装了之后你在:"服务"的进程中就会看到:Oracleorgtg10g_home1TNSLISTER.

STEP2: 这一步的所有操作在:你安转ORACLE TRANSPARENT GATEWAY的主机上.
STEP2.1:
在D:\oracle\product\10.2.0\tg_1\tg4msql\admin下添加一个文件:initsms.ora内容如下:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server
#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.202.103;DATABASE=sms"#关键点哦!
HS_DB_NAME=sms#ORACLE文档中无这个关键点哦,不用应该也可以的!
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER



STEP2.2:
在D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN目录下更改文件:listener.ora内容如下:
# listener.ora Network Configuration File:
#D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
      (PROGRAM = extproc)
   )
    (SID_DESC =
      (SID_NAME = sms)
      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
      (PROGRAM = tg4msql)#这一段是新添加上的哦!
   )
)
LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
#   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
#注释掉,不然就用ADDRESS_LIST
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.168.38)(PORT = 1521))#你安转ORACLE TRANSPARENT GATEWAY的主机IP和端口
    )
)

关闭"服务"的进程:Oracleorgtg10g_home1TNSLISTER,然后重新启动。
<div style="border-right: medium none; padding-right: 0cm; border-top: medium none; padding-left: 0cm; padding-bottom: 1pt; border-left: medium none; padding-top: 0cm;">----------don't forget it!

STEP3:
如果你有ORACLE DB的权限:
在ORACLE DB SERVER上的ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora
添加:
(ms_sql=
             (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.168.38)(PORT=1521))
             (CONNECT_DATA=(SID=sms)
            )
(HS = sms))
连接database llink就可!
create public database link ms_sql connect to ERP identified by rsdcalert using ' ms_sql '
-----------------------------------------------
我们项目没那么幸运,什么DB SERVER权限都没,只好登陆pl/sql:
create public database link ms_sql connect to ERP identified by rsdcalert using
'(DESCRIPTION =
             (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.168.38)(PORT=1521))
             (CONNECT_DATA=(SID=sms)
            )
(HS = sms))';
页: [1]
查看完整版本: Oracle Transparent Gateway透明网关