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:rsdcalert2.在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=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_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
相关资源:Oracle Transparent Gateway for Microsoft SQLServer