oracle的透明网关是oracle直接访问异构数据库的利器。在9i中,透明网关是包含在数据库安装程序中的,在安装数据库软件过程中可以选择;10g,11g中,oracle把透明网关独立出来,需要单独下载安装。(oracle 透明网关支持SQL server ,sysbase,informix)

本文主要讨论在oracle 11G下如何配置透明网关去访问sqlserver数据库。

1.下载对应安装程序的版本。

2.安装

如果是DB和透明网关安装为同一台机器,默认安装路径,是oracle 根据那个磁盘的剩余容量大,就安装在那个目录下的,这个目录不可取。

下拉路径,选择oracle home为安装路径,名称也会随之变化。

DB和透明网关可以安装在不同的机器上。


 

勾选oracle database gateway for microsoft sql server,下一步

 

服务器主机名:添加SQL 服务器IP

实列名为空

SQL Server 数据库名称 :test

 

安装

 

3.配置 文件,需要配置3个文件。

第一个:透明网关安装目录\dg4msql\admin下面默认有一个文件initdg4msql.ora,命名规则INIT+SID.ORA(如果需要连接多个SQL SERVER数据库,则需要在这个目录下建立多个文件。)

本文要连接 10.0.5.250 上的U_ZL 数据库,copy 文件initdg4msql.ora 重命名为 initu_zl.ora
修改HS_FDS_CONNECT_INFO的值:


HS_FDS_CONNECT_INFO=10.0.5.250//U_ZL    /*10G HS_FDS_CONNECT_INFO="SERVER=10.0.5.250;DATABASE=U_ZL"*/
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

 

第二个:找到listener文件所在路径D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN,这些配置与DB配置类似。

修改listener 后,必须重起

# listener.ora Network Configuration File: d:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

 LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ITWX)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

 SID_LIST_LISTENER=
(SID_LIST=
  (SID_DESC=
     (SID_NAME=u_zl)
     (ORACLE_HOME=D:\app\Administrator\product\11.1.0\db_1)
     (PROGRAM=dg4msql)
  )
)

 

SID_Name与参数文件的名称initu_zl.ora相对应,且PROGRAMN要为tg4msql  

启动关闭监听

半闭监听,在CMD命令符,输入lsnrctl stop

半闭监听,在CMD命令符,输入lsnrctl start

测试监听


 看到如上效果 说明监听已经OK。

 

第三个:

  配置tnsname.ora   D:\app\Administrator\product\11.1.0\db_1\NETWORK\  在 这个文件下增加如下内容:

 

tt=           /此行可以自定义,此步用的u_zl  在第五步 using 使用/
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ITWX)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID=u_zl)
    )
    (HS=OK)
)

 

4.创建访问SQL SERVER访问账号  

由于使用DBLINK不能为空密码,为了使用数据安全性,在10.0.5.250服务器创建一个登录账号为jany,密码为jany1234,并设置权限访问u_zl数据库权限。

5. Oralce 创建DBLINK  

create database link haha connect to jany identified by jany1234 using 'tt';

此步创建haha连接,SQL 用户名jany 密码jany1234  使用连接字符串是 using 'tt';

 

6.测试连接并使用SQL  创建过程中是不会报错的,需要进一步验证。

验证成功,进一步用真实数据测试;

哈哈  ,搞定