程序中引用Oracle.DataAccess.dll 的版本问题

orayangy 2010-09-03 06:56:36
最近开发一个系统,
我的程序中引用了Oracle.DataAccess.dll 版本是2.111,
但是客户端安装的是Oracle 11g client ,ODP.NET里Oracle.DataAccess.dll是 2.112版本.

所以在OracleConnection时,出现了”DataAccess.Client.OracleConnection的类型初始值设定项引发异常 ”的错误。
然后我重新引用Oracle.DataAccess.dll 2.112 ,程序正常执行了。

问题是:
这是一个WindowsForm 的程序,那么如果我要发布的时候,就必须同时包括Oracle.DataAccess.dll 2.112。
如果客户的机器上的ODP.NET的 Oracle.DataAccess.dll版本,和我发布程序饮用的版本不同的话,
应该会产生上面的错误吧,有什么方法避免这个错误产生呢?

而且我要用到OracleBlukCopy,所以ADO.NET的System.Data.OracleClient不能使用

同事说尽量不要在程序中直接引用Oracle.DataAccess.dll,在`DBProviderFactory中实现,但是因为我程序中用了OracleBlukCopy,所以还必须得引用,
同事又说了,那就用Reflection来实现OracleBlukCopy功能,那对我来说得花很多时间研究Reflection。

谁有既简单又好用的方法阿???多谢了!
...全文
1089 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄少龙 2011-07-26
  • 打赏
  • 举报
回复
我也遇到了同样的问题。我客户端是Oracle817。不知道该用什么版本的Oracle.DataAccess.dll。网上这类问题都没有提到817.大多数讨论的是10g.11g.我也很是头疼。
orayangy 2010-09-06
  • 打赏
  • 举报
回复
沉了沉了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧