本来自己机器装的是的oracle的11g的客户端,
程序下的bin也是用的11g下的 Oracle.DataAccess.dll 版本是2.111.7.0这个版本的dll
但最近由于自己恢复数据库,又装了一个10g的客户端,
程序访问就出问题,conn.open 报 打开数据时oracle版本问题。
我又把10g下的dll拷贝到bin下,编译出问题错误 1 程序集“GysWebApp.OracleDAL, Version=1.0.3821.29081, Culture=neutral, PublicKeyToken=null”所使用的“Oracle.DataAccess, Version=10.2.0.100, Culture=neutral, PublicKeyToken=89b483f429c47342”版本高于所引用的程序集“Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342”的版本 d:\Gys\OracleDAL\bin\Debug\GysWebApp.OracleDAL.dll GysWebApp灰常郁闷。。大家怎么解决的,或者告知一下,在那个地方吸怪

解决方案 »

  1.   

    重新引用程序集GysWebApp.OracleDAL
      

  2.   

    程序访问oracle数据库依赖于其客户端,一般来说低版本客户端不能连接高版本的服务器端,但高版本客户端可以向下兼容连接低版本客户端。所以,你试图使用低版本客户端(10g)去连接高版本服务器端(11g)是行不通的。所以建议重新安装11g客户端,更新相关项目引用。
      

  3.   

    这个问题因该是Oracle数据库配置问题。因为你安装了两个数据库版本,配置改变了。
      

  4.   

    我又换回去了, 换成Oracle.DataAccess.dll 版本是2.111.7.0
    但客户端还是10g,提示
    Message = "提供程序与 Oracle 客户机的版本不兼容"看来我得重装oracle客户端了!!
      

  5.   


    如果你没有研究过Oracle的DBA方面的知识,这个问题目前不好解决,重装oracle客户端吧。。
      

  6.   

    除了重装,
    还有别的解决方式
    比如原来用10g的客户端和dll
    现在要升级到11g的客户端和dll
    怎么来做?
    我需要知道这里面的细节, 是不是重新引用一下dll就行。。