我正在尝试在ASP.net项目上使用 Oracle ODP.NET 11g(11.1.0.6.20)Instant Client 作为 数据提供程序, 但是当我运行aspx页面时,出现“ 提供程序与版本不兼容Oracle客户端 错误消息。任何帮助,将不胜感激。
我在Visual Studio 2005中引用了数据提供程序,其背后的代码如下所示:
using Oracle.DataAccess.Client; .. OracleConnection oOracleConn = new OracleConnection(); oOracleConn.ConnectionString = "Data Source=MyOracleServerName;" + "Integrated Security=SSPI"; oOracleConn.Open(); //Do Something oOracleConn.Close();
该页面的错误如下所示:
Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client Source Error: Line 21: Line 22: Line 23: OracleConnection oOracleConn = new OracleConnection(); Line 24: oOracleConn.ConnectionString = Line 25: "Data Source=MyOracleServerName;" + [OracleException (0x80004005): The provider is not compatible with the version of Oracle client] Oracle.DataAccess.Client.OracleInit.Initialize() +494 Oracle.DataAccess.Client.OracleConnection..cctor() +483 Stack Trace: [TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.] Oracle.DataAccess.Client.OracleConnection..ctor() +0 Boeing.IVX.Web.RoyTesting.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\CE218C\Desktop\IVX.Net\Web\IVX\RoyTesting.aspx.cs:23 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
我只安装了 .NET 2.0 的 Oracle数据提供程序(11.1.0.6.20) ,没有安装 Oracle Instant Client(11.1.0.6.0) 。
我刚刚安装它,错误消失了!