使用Oracle通過gateway連接MSSQL的詳細(xì)流程
環(huán)境概述
某醫(yī)院的his系統(tǒng)Oracle數(shù)據(jù)庫(kù)要和體檢系統(tǒng)進(jìn)行數(shù)據(jù)通訊,需要從Oracle能查到sqlserver的數(shù)據(jù)。本次通過Oracle gateway來解決此問題。
HIS服務(wù)器:windows server 2016+數(shù)據(jù)庫(kù)oracle11.2.0.4,假設(shè)IP是192.168.100.9
體檢服務(wù)器:windows server 2016+數(shù)據(jù)庫(kù)MSSQL2016,假設(shè)IP是192.168.100.10
大體流程就是4步:安裝gateway軟件、配置gateway的監(jiān)聽服務(wù)、修改Oracle端tnsnames.ora添加服務(wù)、創(chuàng)建DBLINK
部署gateway軟件
該軟件可以選擇部署在如下位置:
1、和Oracle在同一臺(tái)主機(jī)
2、和MSSQL在同一臺(tái)主機(jī)
3、單獨(dú)的物理服務(wù)器
該軟件就是11g 安裝包里的第5個(gè)包,P13390677_112040_MSWIN-X86-64_5OF7.ZIP
安裝方法十分的簡(jiǎn)單,幾乎就是下一步下一步。注意windows運(yùn)行setup.exe時(shí)盡量右鍵“以管理員身份運(yùn)行”避免出現(xiàn)權(quán)限問題。
我這里選擇安裝在MSSQL服務(wù)器192.168.100.10上。
默認(rèn)會(huì)安裝在 <系統(tǒng)盤符>:\product\11.2.0\tg_1目錄下,這里我只貼比較重要的地方,就是這里要選上sqlserver對(duì)應(yīng)的地方。
這里填寫MSSQL的連接信息:
數(shù)據(jù)庫(kù)服務(wù)器主機(jī)名:就是MSSQL服務(wù)器的IP地址
實(shí)例名:如果是默認(rèn)的MSSSQL這里可以不填寫
數(shù)據(jù)庫(kù)名:寫上要連的數(shù)據(jù)庫(kù)名
然后繼續(xù)安裝即可
最后一步會(huì)讓你配置監(jiān)聽服務(wù),這里默認(rèn)勾選執(zhí)行典型配置即可,回頭再修改監(jiān)聽配置。
注意,我下面的示例沒有使用默認(rèn)的典型配置,而是修改了監(jiān)聽名稱為GW_LISTENER,端口使用了1522
MSSQL服務(wù)器網(wǎng)關(guān)目錄下設(shè)置
1、比如我這個(gè)配置案例,安裝完后默認(rèn)會(huì)在如下目錄:D:\product\11.2.0\tg_1\dg4msql\admin下生成配置文件initdg4msql.ora,其中dg4msql為網(wǎng)關(guān)使用的服務(wù)名(實(shí)例名),文件內(nèi)容如下(就是圖形那步的數(shù)據(jù)庫(kù)配置信息),我這里選擇不修改。
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、創(chuàng)建GATEWAY監(jiān)聽服務(wù),如果與Oracle裝同一臺(tái)主機(jī)用1522,要去D:\product\11.2.0\tg_1\bin下執(zhí)行netca.bat創(chuàng)建服務(wù)GW_LISTENER(起這個(gè)名是為了可識(shí)別),這里注意改的靜態(tài)監(jiān)聽SID_LIST_GW_LISTENER要和GW_LISTENER對(duì)應(yīng)
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
此監(jiān)聽配置成功后,可看到服務(wù)在監(jiān)聽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 啟動(dòng)日期 28-11月-2024 14:19:08 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 0 分 56 秒 跟蹤級(jí)別 off 安全性 ON: Local OS Authentication SNMP OFF 監(jiān)聽程序參數(shù)文件 D:\product\11.2.0\tg_1\network\admin\listener.ora 監(jiān)聽程序日志文件 d:\product\11.2.0\tg_1\diag\tnslsnr\ORASERVER\gw_listener\alert\log.xml 監(jiān)聽端點(diǎn)概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.10)(PORT=1522))) 服務(wù)摘要.. 服務(wù) "dg4msql" 包含 1 個(gè)實(shí)例。 實(shí)例 "dg4msql", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序... 命令執(zhí)行成功
Oracle側(cè)配置添加tns
在Oracle服務(wù)器上,修改tnsnames.ora,進(jìn)入到$ORACLE_HOME/network/admin目錄下編輯tnsnames.ora,增加配置如下:
dg4msql = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.10)(PORT = 1522)) (CONNECT_DATA = (SID = dg4msql)) (HS = OK ) )
驗(yàn)證鏈接
在Oracle數(shù)據(jù)庫(kù)創(chuàng)建DBLINLK
CREATE DATABASE LINK toMSSQL CONNECT TO "sa" IDENTIFIED BY "XXXXXX" USING 'dg4msql';
查詢即可
SELECT * FROM 表名@toMSSQL;
以上就是使用Oracle通過gateway連接MSSQL的詳細(xì)流程的詳細(xì)內(nèi)容,更多關(guān)于Oracle gateway連接MSSQL的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Windows系統(tǒng)下Oracle?11g完全卸載教程(推薦!)
安裝軟件是首要,雖然不是特別重要,但是錯(cuò)誤的安裝也是相當(dāng)費(fèi)勁和抓狂的,所以這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Oracle?11g完全卸載的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),要的朋友可以參考下2024-06-06linux自動(dòng)運(yùn)行rman增量備份腳本
這篇文章主要介紹了linux自動(dòng)運(yùn)行rman增量備份腳本,實(shí)現(xiàn)周日和周三凌晨1:00執(zhí)行0級(jí)全庫(kù)備份,周一、二、四、五、六凌晨1:30執(zhí)行增量備份,需要的朋友可以參考下2014-03-03ORACLE應(yīng)用經(jīng)驗(yàn)(2)
ORACLE應(yīng)用經(jīng)驗(yàn)(2)...2007-03-03實(shí)現(xiàn)oracle數(shù)據(jù)庫(kù)字段自增長(zhǎng)(兩種方式)
這篇文章主要通過兩種方式實(shí)現(xiàn)oracle數(shù)據(jù)庫(kù)字段自增長(zhǎng),第一種方式是序列+觸發(fā)器,第二種方式序列+顯示調(diào)用序列,需要的朋友可以參考下2015-07-07Oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER()實(shí)例詳解
本文通過實(shí)例代碼給大家介紹了oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER(),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Oracle數(shù)據(jù)庫(kù)分頁(yè)的集中方法(三種方法)
在 做項(xiàng)目中用到了分頁(yè),下面說一下oracle分頁(yè)的方法,需要的的朋友參考下吧2017-07-07Oracle數(shù)倉(cāng)中判斷時(shí)間連續(xù)性的幾種SQL寫法示例
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)倉(cāng)中判斷時(shí)間連續(xù)性的幾種SQL寫法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02Oracle查詢語(yǔ)句中rownum與rowid的不同之處分析
這篇文章主要介紹了Oracle查詢語(yǔ)句中rownum與rowid的不同之處分析,需要的朋友可以參考下2014-07-07