使用Oracle通过gateway连接MSSQL

news2024/12/26 19:06:27

环境概述

某医院的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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

社区医疗服务可视化系统设计与实现

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;…

Alibaba EasyExcel 导入导出全家桶

一、阿里巴巴EasyExcel的优势 首先说下EasyExcel相对 Apache poi的优势&#xff1a; EasyExcel也是阿里研发在poi基础上做了封装&#xff0c;改进产物。它替开发者做了注解列表解析&#xff0c;表格填充等一系列代码编写工作&#xff0c;并将此抽象成通用和可扩展的框架。相对p…

掌控时间,成就更好的自己

在个人成长的道路上&#xff0c;时间管理是至关重要的一环。有效的时间管理能够让我们更加高效地完成任务&#xff0c;实现自己的目标&#xff0c;不断提升自我。 时间对每个人都是公平的&#xff0c;一天只有 24 小时。然而&#xff0c;为什么有些人能够在有限的时间里做出卓…

十、JavaScript的应用

10.1 JavaScript概述 10.1.1 JavaScript简介 JavaScript是一种基于 对象(0bject) 和 事件驱动(EventDriven) 并具有安全性能的脚本语言&#xff0c;能够与HTML(超文本标记语言)、Java语言一起在Web页面中与web 客户交互&#xff0c;它无须经过先将数据传给服务器端(Server)、再…

服务器上的常见Linux命令教程

在管理服务器&#xff08;如香港服务器&#xff09;时&#xff0c;掌握常见的 Linux 命令 是非常重要的&#xff0c;它们可以帮助你高效地完成服务器管理任务&#xff0c;如文件操作、进程管理、用户管理、网络配置等。 以下是一个系统化的 Linux 常见命令教程&#xff0c;分为…

开发手札:Win+Mac下工程多开联调

最近完成一个Windows/Android/IOS三端多人网络协同项目V1.0版本&#xff0c;进入测试流程了。为了方便自测&#xff0c;需要用unity将一个工程打开多次&#xff0c;分别是Win/IOS/Android版本&#xff0c;进行多角色联调。 在Win开发机上&#xff0c;以Windows版本为主版…

2024 阿里云Debian12.8安装apach2【图文讲解】

1. 更新系统&#xff0c;确保您的系统软件包是最新的 sudo apt update sudo apt upgrade -y 2. 安装 Apache Web 服务器 apt install apache2 -y 3. 安装 PHP 及常用的扩展 apt install php libapache2-mod-php -y apt install php-mysql php-xml php-mbstring php-curl php…

Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)

概述 在上一篇文章中&#xff0c;我们介绍了Fiddler的基础功能和如何安装它。今天我们将深入探讨如何使用Fiddler来捕获HTTP请求&#xff0c;这是Fiddler的一个核心能力&#xff0c;对于前端开发者、测试人员以及安全研究人员来说非常有用。捕获HTTP请求可以帮助我们更好地理解…

【开源安全保护】如何安装JumpServer堡垒机

【开源安全保护】如何安装JumpServer堡垒机 什么是堡垒机 大家好&#xff0c;我是星哥&#xff0c;今天我以前来认识堡垒机 堡垒机&#xff08;Bastion Host&#xff09;&#xff0c;也称为跳板机&#xff08;Jump Server&#xff09;&#xff0c;是指在计算机网络中&#x…

AIGC 012-Video LDM-更进一步,SD作者将LDM扩展到视频生成任务!

AIGC 012-Video LDM-Stable Video diffusion前身&#xff0c;将LDM扩展到视频生成任务&#xff01; 文章目录 0 论文工作1论文方法实验结果 0 论文工作 Video LDM作者也是Stable diffusion的作者&#xff0c;作者在SD的架构上进行扩展&#xff0c;实现了视频的生成。后续在Vid…

Qt开源控件:图像刻度轴绘制器 (附源码)工程项目私信博主

项目简介 图像刻度轴绘制器是一款基于 Qt/C 开发的小型绘图工具&#xff0c;旨在实现带有刻度轴的图像显示功能。该项目主要用于需要精确测量或标注图像坐标的场景。通过左侧和底部的坐标轴以及对应的刻度线&#xff0c;可以直观地了解图像内容在二维空间中的位置。 项目功能 …

集成学习综合教程

一、前置知识 一个分类器的分类准确率在60%-80%&#xff0c;即&#xff1a;比随机预测略好&#xff0c;但准确率却不太高&#xff0c;我们可以称之为 “弱分类器”&#xff0c;比如CART&#xff08;classification and regression tree 分类与回归树&#xff09;。 反之&#x…

渗透测试--Windows凭证收集

在渗透测试过程中&#xff0c;我们终究会遇到攻陷了某台加域Windows主机的情况。而这种情况下&#xff0c;我们很需要搜集当前主机的凭证信息。为进一步利用这些相互信任的凭证来进行横向打下基础。 在凭证收集中&#xff0c;我们主要有以下场景&#xff1a; 1.lsass.exe的DMP文…

云开发 Copilot ——让开发变得更简单

声明&#xff1a;本篇博客为云开发 Copilot体验文章&#xff0c;非广告 目录 前言&#xff1a; 游客体验 云开发 Copilot实战&#xff1a; 一、图片生成需求 二、云开发 Copilot实现需求 三、AI生成低代码页面 Copilot 的亮点功能 使用场景 云开发 Copilot开发的前景…

【Docker】创建Docker并部署Web站点

要在服务器上创建Docker容器&#xff0c;并在其中部署站点&#xff0c;你可以按照以下步骤操作。我们将以Flask应用为例来说明如何完成这一过程。 1. 准备工作 确保你的服务器已经安装了Docker。如果没有&#xff0c;请根据官方文档安装&#xff1a; Docker 安装指南 2. 创…

【Java】Switch语句、循环语句(for、while、do...while)

Switch语句&#xff1a;针对某个表达式的值进行判断&#xff0c;从而决定执行哪一段代码 语法格式&#xff1a; switch(表达式){ case 目标值1: 执行语句1 break; case 目标值2: …

第一部分:基础知识 3. 数据类型 --[MySQL轻松入门教程]

第一部分:基础知识 3. 数据类型 --[MySQL轻松入门教程] MySQL 支持多种数据类型,这些数据类型可以分为几大类:数值类型、字符串类型、日期和时间类型、二进制类型以及枚举和集合。每种类型都有其特定的用途和存储需求。以下是 MySQL 中常用的数据类型的详细介绍: 1. 数值…

uniapp 添加loading

在uniapp中添加loading可以使用uni的API uni.showLoading 方法。以下是一个简单的示例代码 // 显示loading uni.showLoading({title: 加载中 });// 假设这里是异步操作&#xff0c;比如网络请求 setTimeout(function () {// 隐藏loadinguni.hideLoading(); }, 2000);

HTTP(超文本传输协议)

HTTP是万维网通信的基础构成&#xff0c;是一个简单的请求相应协议&#xff0c;基于TCP之上80号端口 通信原理 DNS解析 将域名甩个DNS服务器解析&#xff0c;将域名化为IP访问 建立TCP连接 如图&#xff0c;客户端先发送一个sys置位seq为x&#xff08;任意值&#xff09;的…

(78)MPSK基带调制通信系统瑞利平坦衰落信道传输性能的MATLAB仿真

文章目录 前言一、MATLAB仿真1.仿真代码2.仿真结果 二、子函数与完整代码总结 前言 本文给出瑞利平坦衰落信道上的M-PSK通信系统性能仿真的MATLAB源代码与仿真结果。其中&#xff0c;调制方式M-PSK包括BPSK、QPSK、8-PSK、16-PSK、32-PSK等方式。 一、MATLAB仿真 1.仿真代码 …