admin管理员组文章数量:1794759
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
版权声明:本文标题:oracle通过dblink连接sqlserver数据库 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686658435a91538.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论