oracle通过dblink连接sqlserver数据库

  • Post author:
  • Post category:其他


oracle想要通过dblink去访问sqlserver数据库,这时候就需要一个oracle软件,

透明网关(

Transparent Gateway


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

链接:https://pan.baidu.com/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数据库连接信息的地方

而该文件的命名方式为

init

sid

.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已创建完成。



版权声明:本文为qq_37823979原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。