連接Oracle錯誤:800a0e7a未找到提供程序的解決


一、現象:

C#程序中需要以Provider=OraOLEDB.Oracle.1方式訪問ORACLE數據庫。但程序執行時報異常:未在本地計算機注冊“OraOLEDB.Oracle.1”提供程序

二、解決方案:

1、在Oracle安裝目錄找到Oracle的主程序目錄,點擊鼠標右鍵->屬性->安全,對ASP.NET或者NETWORK SERVICE 帳戶賦予允許讀、執行權限,並在“高級”中保證該目錄的子目錄、文件都繼承這些屬性。

2、服務器ORACLE為10g,雖然安裝時選擇了Oracle Data Provider for .net和Oracle Provider for OLE DB。但是還是需要人工命令行注冊一下
regsvr32 D:\oracle\10.2.0\db\BIN\OraOLEDB10.dll。

其他觀點:
解決方法如下:
1)到ORACLE_HOME目錄,如c:\Oracle\Ora92 點擊鼠標右鍵->屬性->安全, 對ASP.NET 帳戶賦予允許讀、執行權限,並在“高級”中保證該目錄的子目錄、文件都繼承這些屬性,確定。
2)重新注冊oraoledb.dll: regsvr32 $\oracle\ora92\bin\oraoledb.dll 2 這種情況有3種可能的原因 1.裝Oracle 的機器是不是NTFS的?如果是的話,將\Ora81下的BIN的權限,全部放開,給所有用戶。 (不然在B/S結構下會因為沒有權限訪問目錄而報這個錯誤) 2.如果數據庫服務器是Oracle816的。在服務器的那台機器上找Ora81\network\ADMIN下的sqlnet.ora文件,把里面的 SQLNET.AUTHENTICATION_SERVICES= (NTS)改成 SQLNET.AUTHENTICATION_SERVICES= (NONE) (這種會造成某些機器上報驅動初始化失敗的錯誤,在用OracleClient下出現過一次) 3.如果以上都沒有解決問題。可以考慮是不是注冊表里 ...

參考出處:http://blog.sina.com.cn/s/blog_4d5a94ae0100fcq9.html

===========================================================

使用ADO連接oracle數據庫時,連接串使用Provider=OraOLEDB.Oracle時提示“未找到提供程序。該程序可能未正確安裝”。
原因:正如提示信息所說
查看oracle安裝目錄下的BIN目錄,發現沒有OraOLEDB*.dll
解決方法:
下載對應的驅動程序,或從運行正常的機器上拷貝上述dll文件
然后注冊其中的 OraOLEDB10.dll(其它版本的oracle可能后面的數字會跟隨變化)
注冊方法:
在其所在目錄下執行
regsvr32 OraOLEDB10.dll

備注說明:
對於各種數據庫的連接方式,可參考www.connectionstrings.com
另外,這個網站也提供各個驅動的下載鏈接。

參考出處:http://blog.csdn.net/dux003/article/details/5653737

===========================================================

網上還有關於文件夾權限的操作,現在也一起檢查是否這種可能性導致的錯誤。如下

運行B/S程序時,出現標題上的錯誤信息,以下面的方法解決:

1.首先確保服務器已安裝“Oracle Provider for OLE DB”提供程序。

2.找到Oracle的安裝目錄,如“D:\oracle92”,為該目錄添加Everyone用戶,並給予完全控制權限,在高級中勾選上“用在此顯示的可以應用到子對象的項目替代所有子對象的權限項目”,確定后就可以訪問了,附權限設置圖例。

未在本地計算機上注冊“OraOLEDB.Oracle”提供程序 - 子言 - 子言的博客

 

未在本地計算機上注冊“OraOLEDB.Oracle”提供程序 - 子言 - 子言的博客

參考出處:http://blog.163.com/y_p_xu/blog/static/1708571022011215120175/

 ================================================================

網上還有對IIS服務器進行設置的,參考如下

 

   因工作關系好久沒有搞網站了,最近在搞一個ASP的宣傳網站,本想在本地測試遇到一些問題,整理記錄下以備日后有需。

  演示環境:W7 旗艦版64位 + IIS7 + ASP網站

  錯誤信息如下:

asp錯誤提示ADODB.Connection 錯誤 '800a0e7a' 三聯

  ADODB.Connection 錯誤 '800a0e7a'

  未找到提供程序。該程序可能未正確安裝。

  /admin/Inc/Conn.asp,行 23

  在出現這個錯誤之后做了幾個判斷:

  1、此套ASP網站 在正式服務器部署正常,也就可以證明網站代碼是OK的;

  2、IIS安裝正常,運行正常,使用其他網站也可以;

  3、是不是站點權限問題?檢查多站是正常的。

  后來想到是不是應用程序池的問題因為系統是64位的,檢查了應用有32位應用程序的設置,一修改好了。

  解決方法:

  找到IIS應用程序池,“設置應用程序池默認屬性”->“常規”->”啟用 32 位應用程序”,設置為 True。

  這樣我的問題就解決了。。

參考出處:http://www.3lian.com/edu/2014/07-09/154710.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM