采用透明网关技术,让oracle能轻松访问到sqlserver数据库中的数据。透明网关oracle在企业版本里缺省时,是没有的,需要自定义安装,安装好了oracle后,再从自定义安装中,把该组件选上。在安装的过程中,会重组oracle软件。
假设我们要在ORACLE里同时能访问SQL Server里默认的pubs和Northwind两个数据库。
1、在安装了ORACLE9i Standard Edition或者ORACLE9i Enterprise Edition的windows机器上(IP:192.168.0.2),
产品要选了透明网关(Oracle Transparent Gateway)里要访问Microsoft SQL Server数据库.
####### #############################################################
$ORACLE9I_HOME/tg4msql/admin下新写initpubs.ora和initnorthwind.ora配置文件,注意这两个文件的命名非常重要。一定要是init<异构数据库名>.ora
initpubs.ora内容如下:
HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=pubs"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
initnorthwind.ora内容如下:
HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=Northwind"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
(蓝色字的部分可以根据具体要访问的SQL Server数据库的情况而修改)
确保在c:/winnt/system32下有ntwdblib.dll,若没有则安装SQL Server2000(安装类型选择“仅连接”)。此文件是访问SQL Server的DB-Library
修改%ORACLE_HOME%/tg4msql/inittg4msql.ora,这是网关进程启动时需要的初始化文件。只需改下面这一行即可:
HS_FDS_CONNECT_INFO=SQLDB.CDR
#####################################################################
$ORACLE9I_HOME/network/admin 下listener.ora内容如下:
LISTENER =
(DESCRIPTION_LIST =