我想在我的 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-- 将我的连接类型从 oledb 更改为 oracle.data.access 但它也不起作用。
3-- 我想找到 64 位的 msdaora.dll 但找不到。
我该怎么做才能解决这个错误? 谢谢。
最佳答案
我遇到了类似的问题。根本问题是我的平台目标是 Any CPU。有两种解决方案对我有用:
我认为 IIS 正在决定它将使用哪个(x86 或 x64)msdora.dll,因为 Any CPU 平台目标编译。您必须要么取消 IIS 的选择,要么为它提供所有答案。
关于windows - OleDbException (0x80004005) : Oracle client and networking components were not found. 我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703049/