admin管理员组

文章数量:1794759

oracle通过dblink连接sqlserver数据库

oracle通过dblink连接sqlserver数据库

oracle想要通过dblink去访问sqlserver数据库,这时候就需要一个oracle软件,透明网关(Transparent Gateway)

下面是oracle12c的透明网关下载地址。

链接:pan.baidu/s/1s8xKDI6SapDSbndn8_Greg  提取码:epvu 如果失效或者打不开链接的话可以私信我或者评论区留言都可以。

我试验的环境是sqlserver2008及oracle12c,全部在windows下进行操作。

 

首先:安装geteway,解压后会生成gateways文件夹

双击进入gateways文件夹后,再双击setup.exe,进行安装

然后进入安装界面,

这里建议选择现有windows用户,最好和oracle安装时使用的用户一样。

安装路径这里最好和ORACLE_HOME的安装路径一致 ,这样也方便后面的操作。

 

在这里因为要创建sqlserver的dblink所以勾选sqlserver即可。

然后在这里填写sqlserver数据库的连接信,现在不填写也可以,之后的配置中也会提到。

之后就进行安装即可,安装到最后的时候会提醒新建监听,可以选择不创建,之后的配置中也会继续提到。

 

gateway安装结束后开始进行配置,

首先进入ORACLE_HOME路径下,也就是oracle安装路径(E:\\app\\oracle12c\\product\\12.2.0\\dbhome_1)

里面会有一个dg4msql的文件夹,这个里面就是gateway的配置文件。

进入 dg4msql/admin/文件夹后,开始编写配置文件,

首先修改initdg4msql.ora文件,此文件内是sqlserver数据库的连接信,也就是上面配置sqlserver数据库连接信的地方

而该文件的命名方式为 initsid.ora,所以 sid_name即为dg4msql。

只需要修改下面这一句 :后面信分别对应的是 ip:端口//实例名称/数据库名称

HS_FDS_CONNECT_INFO=IP地址:1433//MSSQLSERVER/QZGX_QX_2018

然后保存并退出。

接下来修改listener.ora.sample 

如上图所示配置即可,仅需要修改的地方即为oracle_home的路径信。

LISTENER =  (ADDRESS_LIST=       (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))  )

SID_LIST_LISTENER=   (SID_LIST=       (SID_DESC=          (SID_NAME=dg4msql)          (ORACLE_HOME=E:\\app\\oracle12c\\product\\12.2.0\\dbhome_1)          (PROGRAM=dg4msql)       )   )

之后就是tnsnames.ora.sample文件。

dg4msql  =   (DESCRIPTION=     (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))     (CONNECT_DATA=(SID=dg4msql))     (HS=OK)   ) 

也如上图所示编写即可。

划重点:上面两个文件的修改并没有什么实质性作用,只是为了接下来配置文件修改的方便。

 

下一步也是最关键的一步 。

修改原oracle的listener.ora及tnsnames.ora文件

进入oracle_home/network/admin文件夹(E:\\app\\oracle12c\\product\\12.2.0\\dbhome_1\\network\\admin)

只需要添加上图框起来的信即可

    (SID_DESC=        (SID_NAME = dg4msql)        (ORACLE_HOME = E:\\app\\oracle12c\\product\\12.2.0\\dbhome_1)        (PROGRAM = dg4msql)       )    

而此段信就是来自于之前编辑的gateway里面的listener.ora.sample信。

然后在tnsnames.ora中添加

 

dg4msql  =   (DESCRIPTION=     (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))     (CONNECT_DATA=(SID=dg4msql))     (HS=OK)   ) 

此段信同样来自tnsnames.ora.sample。

至此,所有配置文件修改完成。

然后 win+r -> cmd  ->lsnrctl stop -> lsnrctl start -> lsnrctl status 

这时候你会看到有一个dg4msql的监听实例 

然后即可使用命令创建dblink

create PUBLIC database link TOQZGX_QX_2018 connect to "sa" identified by "Aa111111"  using 'dg4msql' ;

dblink创建成功

然后可以通过以下命令去访问sqlserver数据库

SELECT * FROM gs_etps_info@TOQZGX_QX_2018;

 

至此oracle到sqlserver的dblink已创建完成。

本文标签: 数据库oracledblinksqlserver