解決 ADO.NET 建立 Oracle 資料庫連線的問題

當你在 ASP.NET 嘗試使用 System.Data.OleDb.OleDbConnection 來開啟 Oracle 資料庫連線時,可能會發生如下的錯誤訊息:
找不到 Oracle 用戶端及網路元件。這些元件由 Oracle 公司供應且為 Oracle 8i 以上版本用戶端軟體安裝的一部分。在安裝這些元件前您無法使用此提供者。

如果是使用 System.Data.OracleClient 則會發生如下的錯誤訊息:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

因為使用 .NET Framework Data Provider 存取 Oracle 資料庫,需要安裝 Oracle 用戶端軟體 8.1.7 版及更新版本。如果你是在未安裝 Oracle 用戶端軟體的情況下發生這樣的問題,你可以造訪 Oracle 官方網站,下載 Oracle Data Access Components (ODAC)。下載完成後,請執行安裝程式,並在安裝過程中選擇安裝 Oracle Data Provider for .NET。

若是在已安裝 Oracle 用戶端軟體的情況下,可能是 ORACLE_HOME 安裝在 Windows NTFS 磁碟分割區, 導致 ASP.NET 所使用的 Authenticated User 權限找不到 ORACLE_HOME 目錄,才導致這樣的錯誤。在 roytore 所發表的文章中,有提到針對此問題的解決作法:
  1. 以管理者身分登入 Windows。
  2. 使用檔案總管開啟 ORACLE_HOME 資料夾的內容對話盒,並點選 [安全性] 頁籤。
  3. 在群組或使用者清單中,點選 [Authenticated Users]。在下方權限清單中,取消 [讀取及執行] 項目的核取方塊,並按下 [套用]。
  4. 接著按下 [進階] 按鈕,確認 [Authenticated Users] 的權限是 [讀取及執行],且套用在 [這個資料夾,子資料夾及檔案]。
  5. 按下 [確定] 按鈕,直到關閉資料夾內容對話盒。
  6. 重新啟動 Windows。

相關下載:
Oracle Data Access Components (ODAC) Downloads

參考文章:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
by roytore


Share/Save/Bookmark

0 comments :: 解決 ADO.NET 建立 Oracle 資料庫連線的問題

張貼留言