当前位置: 代码网 > it编程>数据库>MsSqlserver > 使用Oracle通过gateway连接MSSQL的详细流程

使用Oracle通过gateway连接MSSQL的详细流程

2024年12月06日 MsSqlserver 我要评论
环境概述某医院的his系统oracle数据库要和体检系统进行数据通讯,需要从oracle能查到sqlserver的数据。本次通过oracle gateway来解决此问题。his服务器:windows

环境概述

某医院的his系统oracle数据库要和体检系统进行数据通讯,需要从oracle能查到sqlserver的数据。本次通过oracle gateway来解决此问题。

his服务器:windows server 2016+数据库oracle11.2.0.4,假设ip是192.168.100.9

体检服务器:windows server 2016+数据库mssql2016,假设ip是192.168.100.10

大体流程就是4步:安装gateway软件、配置gateway的监听服务、修改oracle端tnsnames.ora添加服务、创建dblink

部署gateway软件

该软件可以选择部署在如下位置:

1、和oracle在同一台主机

2、和mssql在同一台主机

3、单独的物理服务器

该软件就是11g 安装包里的第5个包,p13390677_112040_mswin-x86-64_5of7.zip

安装方法十分的简单,几乎就是下一步下一步。注意windows运行setup.exe时尽量右键“以管理员身份运行”避免出现权限问题。

我这里选择安装在mssql服务器192.168.100.10上。

默认会安装在 <系统盘符>:\product\11.2.0\tg_1目录下,这里我只贴比较重要的地方,就是这里要选上sqlserver对应的地方。

image.png

这里填写mssql的连接信息:

数据库服务器主机名:就是mssql服务器的ip地址

实例名:如果是默认的msssql这里可以不填写

数据库名:写上要连的数据库名

然后继续安装即可

image.png

最后一步会让你配置监听服务,这里默认勾选执行典型配置即可,回头再修改监听配置。

注意,我下面的示例没有使用默认的典型配置,而是修改了监听名称为gw_listener,端口使用了1522

image.png

mssql服务器网关目录下设置

1、比如我这个配置案例,安装完后默认会在如下目录:d:\product\11.2.0\tg_1\dg4msql\admin下生成配置文件initdg4msql.ora,其中dg4msql为网关使用的服务名(实例名),文件内容如下(就是图形那步的数据库配置信息),我这里选择不修改。

hs_fds_connect_info=[192.168.100.10]//old
hs_fds_trace_level=off
hs_fds_recovery_account=recover
hs_fds_recovery_pwd=recover

2、创建gateway监听服务,如果与oracle装同一台主机用1522,要去d:\product\11.2.0\tg_1\bin下执行netca.bat创建服务gw_listener(起这个名是为了可识别),这里注意改的静态监听sid_list_gw_listener要和gw_listener对应

d:\product\11.2.0\tg_1\network\admin\listener.ora

# listener.ora network configuration file: d:\product\11.2.0\tg_1\network\admin\listener.ora
# generated by oracle configuration tools.
gw_listener =
(description_list =
    (description =
      (address = (protocol = tcp)(host = 192.168.100.10)(port = 1522))
    )
  )
sid_list_gw_listener=
 (sid_list=
      (sid_desc=
        (global_dbname = dg4msql)
         (sid_name=dg4msql)
         (oracle_home=d:\product\11.2.0\tg_1)
         (program=dg4msql)
      )
  )
 
adr_base_gw_listener = d:\product\11.2.0\tg_1

此监听配置成功后,可看到服务在监听dg4msql。

d:\product\11.2.0\tg_1\bin>lsnrctl.exe status gw_listener
 
lsnrctl for 64-bit windows: version 11.2.0.4 - production on 28-11月-2024 14:20:05
 
copyright (c) 1991, 2010, oracle.  all rights reserved.
 
正在连接到 (description=(address=(protocol=tcp)(host=192.168.100.10)(port=1522)))
listener 的 status
------------------------
别名                      gw_listener
版本                      tnslsnr for 32-bit windows: version 11.2.0.1.4 - production
启动日期                  28-11月-2024 14:19:08
正常运行时间              0 天 0 小时 0 分 56 秒
跟踪级别                  off
安全性                    on: local os authentication
snmp                      off
监听程序参数文件          d:\product\11.2.0\tg_1\network\admin\listener.ora
监听程序日志文件          d:\product\11.2.0\tg_1\diag\tnslsnr\oraserver\gw_listener\alert\log.xml
监听端点概要...
  (description=(address=(protocol=tcp)(host=192.168.100.10)(port=1522)))
服务摘要..
服务 "dg4msql" 包含 1 个实例。
  实例 "dg4msql", 状态 unknown, 包含此服务的 1 个处理程序...
命令执行成功
 

oracle侧配置添加tns

在oracle服务器上,修改tnsnames.ora,进入到$oracle_home/network/admin目录下编辑tnsnames.ora,增加配置如下:

dg4msql =
  (description =
   (address = (protocol = tcp)(host = 192.168.100.10)(port = 1522))
   (connect_data =  (sid = dg4msql))
   (hs = ok )
  )

验证链接

在oracle数据库创建dblinlk

create database link tomssql connect to "sa" identified by "xxxxxx" using 'dg4msql';

查询即可

select * from 表名@tomssql;

以上就是使用oracle通过gateway连接mssql的详细流程的详细内容,更多关于oracle gateway连接mssql的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com