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