簡體   English   中英

OleDbException (0x80004005):未找到 Oracle 客戶端和網絡組件。 我怎樣才能解決這個問題?

[英]OleDbException (0x80004005): Oracle client and networking components were not found. How can I fix this?

我想用我的 web 應用程序中的 oledb 連接(msdaora.dll)連接到 oracle。

我用 :

IIS 7.5
64 bit windows server 2008 r2 enterprise.
64 bit oracle 11g
32 bit oracle client

visual studio 2010
32bit msdaora.dll
my aplication is .aspx

我的錯誤是什么:

Server Error in '/PPIGanTT' Application.
--------------------------------------------------------------------------------

Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.

Provider is unable to function until these components are installed. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.

Provider is unable to function until these components are installed.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[OleDbException (0x80004005): Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.

Provider is unable to function until these components are installed.]
   System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +351
   System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
   System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +31
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +76
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
   System.Data.OleDb.OleDbConnection.Open() +43
   csOra.OpenCnn() +47
   csOra..ctor(String sTnsName, String sUserId, String sPassword) +273
   _Default.Page_Load(Object sender, EventArgs e) +8801
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

我之前嘗試過的:

1 - 在 iis 中,我將enable32applications更改為true

2 - 將我的連接類型從oledboracle.data.access但它也不起作用。

3-- 我想找到 64 位 msdaora.dll 但我找不到。

我能做些什么來解決這個錯誤? 謝謝。

我有一個類似的問題。 根本問題是我的平台目標是Any CPU 有兩種解決方案對我有用:

  1. 將平台目標更改為您在目標上擁有的現有(且唯一)oracle 客戶端的 CPU,在您的情況下為 x86,或
  2. 安裝了缺少的 oracle 客戶端,在您的情況下為 x64 的 msdora.dll。

我認為 IIS 正在決定它將使用哪個(x86 或 x64)msdora.dll,因為Any CPU平台目標編譯。 您必須要么取消 IIS 的選擇,要么提供所有答案。

對我來說,這是在 PATH 環境變量上切換項目的問題。 即我放置了這個:C:\Oracle\product\11.2\bin; 在此之前:C:\Oracle\product\12.1.0\dbhome_1\bin; 對於不同的公司,這些路徑部分會有所不同。 然后需要記住將 PATH 上的項目切換回以再次使用 Oracle 12。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM