Oracle Gateways透明網關訪問SQL Server

來源:互聯網
上載者:User

標籤:

自己的本機安裝了Oracle 12c,公司的平台需要同時支援Oracle與SQL Server,很多時候都有將資料從Oracle同步到SQL Server的需求。通過SQL Server的link Server可以達到目的,但是因為SQL Server都是64位版本,試過很多次都失敗了。再安裝32位SQL Server也懶得折騰。
因Oracle是12c, 安裝的Gateways也是12c。嘗試過在Oracle資料庫伺服器(本機)安裝11g的gateways, 但是配置都失敗了。
    Oracle Gateways 12c的也在Oracle Database 12c的下載頁。找到與自己資料庫版本的對應的Gateways。
安裝前,設定了一下環境變數ORACLE_HOME,我的是:C:\oracle\product\12.1.0\dbhome_1
安裝時,選擇自己需要訪問的資料庫,這裡是SQL Server.這裡將Gateways安裝到了與Oracle資料庫軟體相同的目錄。
安裝過程:


配置是重點。網上找到的都是10g的配置。12c的目錄名稱與10g的稍有區別:
    listener.ora
    SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
(SID_DESC =
      (SID_NAME = dg4msql)
      (ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = dg4msql)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
在tnsnames.ora添加以下內容:
dg4msql =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql)
    )
     (HS = OK)
  )
在ORACLE_HOME/dg4msql/admin/initdg4msql.ora
確認檔案initdg4msql.ora中有以下內容():
HS_FDS_CONNECT_INFO=server name,port number//database name
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
建立一個DB Link:
create public database link MS_LINK
  connect to sa identified by password
  using ‘dg4msql‘;
重啟監聽。
使用select * from [email protected]_link的形式訪問SQL Server表。不可以直接使用insert into [email protected]_link select * from table向SQL Server表插入資料。錯誤提示是源表與目標表都應在同一個資料庫。
我的解決方案是使用一段匿名指令碼一次一條資料。不知道有沒有更好的辦法。
至此,已經可以成功在Oracle資料庫中訪問SQL Server的資料了。

 

FROM: http://blog.itpub.net/8520577/viewspace-1066213/

Oracle Gateways透明網關訪問SQL Server

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.