Oracle

OraOLEDB.Oracle 未顯示在 SSMS 的提供者列表中

  • November 10, 2017

我正在嘗試在 64 位版本的 Windows Server 2008 R2 Datacenter 中為 SQL Server Management Studio 使用提供程序 OraOLEDB.Oracle。

我所做的是:

  1. 以管理員身份使用命令提示符為提供程序安裝了 32 位和 64 位版本(來自 Oracles 頁面的 ODAC 版本):.\install.bat oledb c:\oracle\odac64 odac64 true用於 64 位。
  2. 將 32 和 64 oracle 路徑添加到環境變數中。
  3. 重新開始。

然後提供程序未在 Management Studio 中列出。

我還創建了一個 UDL 文件,但該文件確實顯示在那裡。

我嘗試將它們註冊regsvr32 orasql12.dll為 64 位和c:\windows\syswow64\regsvr32.exe orasql12.dll32 位,但出現以下錯誤:

模組“orasql12.dll”載入失敗。確保二進製文件儲存在指定路徑或對其進行調試以檢查二進製文件或依賴的 .DLL 文件是否存在問題。

但是,安裝程序應該註冊兩個提供商,所以我認為這不是問題。

對此有什麼想法嗎?

我再次開始研究,在這裡找到了解決方案

我認為這僅適用於 Windows Server。

我們需要註冊OraOLEdb12.dll,目錄bin如下:

regsvr32 c:\oracle\odac64\bin\OraOLEDB12.dll

PD:很棒的工具是 Dependency Walker,我試過了,告訴我一個非常有用的資訊!

錯誤來自regsvr32並且意味著orasql12.dll具有不滿足的依賴關係。仔細檢查文件。這是我發現的:

系統要求

在系統上使用 Oracle Provider for OLE DB 需要以下項目:

  • Windows 98、Windows NT 4.0、Windows 2000 或 Windows XP
  • 訪問 Oracle 伺服器(版本 8 或更高版本)
  • 甲骨文網路服務
  • 提供程序需要 Microsoft 數據訪問組件 (MDAC) 2.1 或更高版本提供的可再發行文件。這些文件可從 Microsoft 網站獲得:www.microsoft.com/data/oledb/
  • 適用於 Microsoft 事務伺服器的 Oracle 服務(9.0 版)。使用 Microsoft Transaction Server (MTS) 或 COM+ 的消費者需要此項。

我還在Oracle 論壇上找到了一個文章:

經過更多研究,我發現了我的問題。在解壓縮的 64 位提供程序文件夾中包含的 readme.htm 文件中,它解釋了通過 install.bat 安裝文件後,您需要將安裝文件的位置放置在 Windows 的 PATH 變數中。例如,如果使用 install.bat 文件將文件安裝在 C:\Oracle,則需要將路徑“C:Oracle”和 C:\Oracle\bin 放在 PATH 變數中。您可以找到該變數通過右鍵點擊我的電腦並選擇屬性(對於 Windows Vista/7 使用者,它是右鍵點擊電腦,然後是屬性,然後是高級系統設置)。點擊高級選項卡並點擊環境變數按鈕。在系統變數列表中,您’會找到PATH變數。我希望這對其他人有幫助….

您也可以使用Dependency Walker 自行檢查。請參閱此處了解更多資訊。

引用自:https://serverfault.com/questions/881767