Oracle讀寫SQLServer數(shù)據(jù)表

最近有一個業(yè)務(wù)需求,需要在Oracle和SQLServer之間進行一些數(shù)據(jù)交互。之前一般是通過單獨的同步工具來進行的,這次由于操作邏輯比較簡單,就準(zhǔn)備通過Oracle網(wǎng)關(guān)來實現(xiàn),順便記錄操作步驟。

  1. 下載 Oracle Database 11g Database Gateway 11.2.0.1.0 ( Oracle Database Gateway for SQL Server )
    如果無法從官網(wǎng)下載,可以從百度網(wǎng)盤下載
    https://pan.baidu.com/s/1x-CDiAVNg0YrgZ2X0JFZNg?pwd=yiky

  2. 為了方便,我們直接在服務(wù)器上安裝Gateway,安裝時注意選擇安裝目錄。

  3. 進行配置

    Oracle服務(wù)器基本信息
    version  11g
    ip 192.168.1.10
    port 1521
    
    SQLServer服務(wù)器基本信息
    version 2008R2
    ip 192.168.1.20
    port 1433
    DatabaseName  erp
    

    進入Oracle安裝目錄下的 dg4msql/admin目錄下,拷貝initdg4msql.ora 文件為新的 initMSERP.ora

    并編輯內(nèi)容為:

    HS_FDS_CONNECT_INFO="192.168.1.20:1433//erp"      --這里設(shè)置SQLServer數(shù)據(jù)庫的地址,端口,和訪問的數(shù)據(jù)庫。 注意端口后是雙斜線。
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    

    進入Oracle安裝目錄下的NETWORK/admin目錄

    修改listener.ora ,增加監(jiān)聽

     SID_LIST_LISTENER =
       (SID_LIST =
         (SID_DESC =
           (SID_NAME = PLSExtProc)
           (ORACLE_HOME = D:/oracle/product/11.2.0/db_1)
           (PROGRAM = extproc)
         )
         (SID_DESC=
           (SID_NAME=MSERP) --對應(yīng)dg4msql\admin目錄下的init文件
           (ORACLE_HOME=D:/oracle/product/11.2.0/db_1)
           (PROGRAM=dg4msql)  
         )
    

    檢查sqlnet.ora文件

    SQLNET.AUTHENTICATION_SERVICES= (NTS,NONE)
    NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME)
    

    修改tnsnames.ora文件

    SQLSERVER =
       (DESCRIPTION =
         (ADDRESS_LIST =
           (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.10)(PORT = 1521))
         )
         (CONNECT_DATA =
           (SID = MSERP)
         )
         (HS = OK)
       )
    

    重啟監(jiān)聽

     lnsrctl stop
     lsnrctl start
    

    打開SQLPlus ,創(chuàng)建DBLINK

    create public database link ms_link 
    connect to "sa" identified by "sa" using 'SQLSERVER';  --這里替換為自己的訪問SQLServer的用戶名和密碼。
    
    
    select * from test@ms_link;   
    就可以查詢到SQLServer中的ERP數(shù)據(jù)庫的test表數(shù)據(jù)內(nèi)容。同樣更新刪除也是可以的,只要dblink的訪問用戶有權(quán)限即可。
    

    至此完工。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容