我想在我的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
。
oledb
改变我的连接types从oledb
到oracle.data.access
但它也不是工作。
3 – 我想find64位msdaora.dll,但我无法find它。
我能做些什么来解决这个错误? 谢谢。
我有一个类似的问题。 根本问题是我的平台目标是Any CPU
。 有两种解决方案适用于我:
我认为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。