转载自http://callan.iteye.com/blog/341592
1.在SQL SERVER实现异构服务的技术叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
2.ORACLE实现异构服务的技术叫做透明网关(当然之前ORACLE还采用过通用连接技术),目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
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,然后重新启动。
----------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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25574072/viewspace-723178/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25574072/viewspace-723178/