`
Callan
  • 浏览: 730571 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle Transparent Gateway透明网关

阅读更多

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

 

1.WIN平台下有:
  SQL SERVER2000
的服务器下
  DB:
SMS
  IP
192.168.202.103
  USERERP
  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,然后重新启动。

----------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))';

RESULT:

SELECT SYSDATE FROM DUAL@ ms_sql

分享到:
评论
1 楼 jpacm 2009-08-08  
楼主, dbms_hs_result_set包在透明网关随机携带的文档中讲述到可以用来 获取sqlserver 的 结果集。 但ORACLE 数据库中却没有 这个包,这是怎么回事呢? 还有 DBMS_HS_PASSTHROUGH 包....

相关推荐

Global site tag (gtag.js) - Google Analytics