oracle通过透明网关访问SQLSERVER数据库

应用场景,公司要开发一个系统需要从SQLSERVER数据库中定时抽取数据,因此通过ORACLE的透明网关创建dblink去访问SQLSERVER数据库。下面直接进入正题。(本次数据库采用的oracle11g 64位。其中ORACLE10g也测试通过)

1.首先确保ORACLE服务器已经安装成功。

2.安装透明网关安装文件在oracle安装包的gateway下,如下图:


选择相关产品组件是选择如图内容然后直接一直下一步:


至此根据实际情况填写相应的SQLSERVER信息,到此后安装成功。


3.透明网关配置:

打开透明网关的安装目录,我安装的目录是D:\product\11.2.0\tg_1,然后进入到D:\product\11.2.0\tg_1\dg4msql\admin目录下。其中initdg4msql.ora这个文件是默认的里面有你刚安装时候SQLSERVER的配置信息。这里我新建了一个文件initTest.ora。这里注意了文件格式必须是initXX的。

其中HS_FDS_CONNECT_INFO=127.0.0.1]/jecms/dbo是安装时默认的,这样是不行的要进行修改,修改后为HS_FDS_CONNECT_INFO=127.0.0.1//jecms.(这个是11G的配置,10G的有点不同应该为HS_FDS_CONNECT_INFO="SERVER=jseserver.hikvision.com;DATABASE=jecms")。

4.监听配置

打开透明网关安装目录D:\product\11.2.0\tg_1\NETWORK\ADMIN下的listener.ora(记住这里是透明网关下的不是oracle服务下的)。添加如下配置(其中红色为新增):

	SID_LIST_LISTENER =  
  (SID_LIST =
   (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\product\11.2.0\tg_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = kaoqin)    #此处为配置文件SID,要与initdg4kaoqin.ora中的名字对应
      (ORACLE_HOME = D:\product\11.2.0\tg_1)
      (PROGRAM = dg4msql)   #此处为配置文件目录名称,Oracle 11g中都为dg4msql,不需变更(注1)
    )
  )


  5.创建dblink访问SQLSERVER.

经历了前4部透明网关的配置基本完成然后就是创建dblink了,如下。

create database link KAOQINDB
  connect to "test" identified by "123"
  using '(DESCRIPTION =
             (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1522))
             (CONNECT_DATA=(SID=kaoqin)
            )
(HS = ok))';
注意了,SQLSERVER的用户名和密码是要区分大小写的,因此在配置的时候一定要在用户名和密码上面添加 双引号。不然链接会报错的。

select * from vm_test@kaoqindb .测试OK。

至此大功告成。



你可能感兴趣的:(oracle,oracle,sqlserver,透明网关)