【SQL】用SSMS連接Oracle手記

  • 2020 年 4 月 10 日
  • 筆記

情況:

  • A機上有SSMS 18.x,
  • B機上有SQL Server 2008 R2資料庫,
  • C機上有Oracle Database 11.2.0.4.0資料庫

我想在A機用ssms連C機的oracle,一番了解,普遍做法是裝ODAC xcopy包,裡面有oledb組件,然後就可以在sqlserver的鏈接伺服器里添加oracle資料庫。如圖:

於是我開始在ssms所在電腦裝odac,結果提供程式的下拉列表裡死活不出現「Oracle Provider for OLE DB」,後來想想也許應該在sql server所在電腦裝才對,果然,有了,但緊接著又是連不上的問題:

按關鍵字OraOLEDB.Oracle 7302搜,相同問題一堆,有說勾一下【允許進程內】的,有說把sqlserver服務的啟動賬戶改為【LOCAL SERVICE】的,也有通過若干步驟修改一個叫【MSDAINITIALIZE】的dcom組件的許可權的,我都試過了,sqlserver伺服器也重啟了無數次,odac版本也試過若干個,統統不能解決我的問題。絕望之下,我下了【Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)】,只勾了裡面的oledb(具體叫啥我懶得回看了)一個東西,終於連上了。

總結:

  • 一定要有個SQL Server。光ssms和oracle是建立不起連接的,本質上連接oracle的是sql sever,不是ssms本身。
  • oledb要裝在sql server所在電腦上。我是裝oracle客戶端里的oledb才有用,odac里的沒用,估計還是版本問題。