您的位置:首页 > 数据库 > Oracle

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

2015-01-27 18:24 477 查看
应用场景,公司要开发一个系统需要从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)
)
<span style="color:#ff0000;"> (SID_DESC =
(SID_NAME = kaoqin)    #此处为配置文件SID,要与initdg4kaoqin.ora中的名字对应
(ORACLE_HOME = D:\product\11.2.0\tg_1)
(PROGRAM = dg4msql)   #此处为配置文件目录名称,Oracle 11g中都为dg4msql,不需变更(注1)
)</span>
)


  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。

至此大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息