日期:2014-05-18  浏览次数:20453 次

问一下,访问oracle不同版本的Oracle.DataAccess.dll问题
本来自己机器装的是的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

灰常郁闷。。。。。大家怎么解决的,或者告知一下,在那个地方吸怪


------解决方案--------------------
重新引用程序集GysWebApp.OracleDAL
------解决方案--------------------
友情帮顶,高手快来,

关注中
------解决方案--------------------
程序访问oracle数据库依赖于其客户端,一般来说低版本客户端不能连接高版本的服务器端,但高版本客户端可以向下兼容连接低版本客户端。所以,你试图使用低版本客户端(10g)去连接高版本服务器端(11g)是行不通的。所以建议重新安装11g客户端,更新相关项目引用。
------解决方案--------------------
这个问题因该是Oracle数据库配置问题。因为你安装了两个数据库版本,配置改变了。

------解决方案--------------------
探讨
我又换回去了, 换成Oracle.DataAccess.dll 版本是2.111.7.0
但客户端还是10g,提示
Message = "提供程序与 Oracle 客户机的版本不兼容"

看来我得重装oracle客户端了!!