六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 70|回复: 0

Oracle Transparent Gateway透明网关

[复制链接]

升级  28.67%

23

主题

23

主题

23

主题

秀才

Rank: 2

积分
93
 楼主| 发表于 2013-1-13 18:54:10 | 显示全部楼层 |阅读模式
1.SQL SERVER实现异构服务的技术叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
2.ORACLE实现异构服务的技术叫做透明网关(当然之前ORACLE还采用过通用连接技术),目前ORACLE利用透明网关可以实现和SQL SERVERSYBASEDB2等多种数据库的互联。


<span style="">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的版本(可以到OTNDOWNLOAD:
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))';
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表