为了账号安全,请及时绑定邮箱和手机立即绑定

提供程序与Oracle客户端的版本不兼容

提供程序与Oracle客户端的版本不兼容

C#
一只斗牛犬 2019-06-28 10:25:16
提供程序与Oracle客户端的版本不兼容我试着用Oracle ODP.NET 11g(11.1.0.6.20)即时客户端将我的ASP.NET项目作为数据提供者但是当我运行aspx页面时,我会得到一个“提供程序与Oracle客户端的版本不兼容“错误信息。任何帮助都将不胜感激。我在VisualStudio 2005中引用了数据提供程序,后面的代码如下所示:using Oracle.DataAccess.Client;..OracleConnection oOracleConn = new OracleConnection();oOracleConn.ConnectionString =     "Data Source=MyOracleServerName;" +     "Integrated Security=SSPI";oOracleConn.Open();//Do SomethingoOracleConn.Close();页面的错误如下所示:Exception Details: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle clientSource 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() +483Stack 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
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

我一直在进一步研究这个问题,您只需从同一个下载版本的ODP.Net中获取所有适当的DLL,并将它们放在与您的exe文件相同的文件夹中,因为ODP.Net对不混合版本号很挑剔。

我在这里解释了如何做到这一点:http:/splinter.com.au/使用-新的-odpnet-to-access-oracle-from-c不过,这其中的要点是:

  • 下载ODP.Net
  • 解压缩文件
  • 打开里面所有的罐子
  • 抓取这些刚刚解压缩的DLL:
    • oci.dll(改名为“oci.dll.dbl”)
    • Oracle.DataAccess.dll
    • oraociicus11.dll
    • OraOps11w.dll
    • orannzbb11.dll
    • oraocci11.dll
    • ociw32.dll(改名为“ociw32.dll.dbl”)
  • 将所有DLL放在与C#可执行文件相同的文件夹中


查看完整回答
反对 回复 2019-06-28
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

我只安装了.NET 2.0的Oracle数据提供程序(11.1.0.6.20)我没有安装Oracle即时客户端(11.1.0.6.0).

我刚刚安装了它,错误消失了!


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 2410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信