日期:2014-05-17  浏览次数:20904 次

WINForm安装了Oracle客户端,进入系统时报错
Could not load file or assembly 'Oracle.DataAccess,version=10.2.0.100,Culture=neutral,PublickeyToken=89b483f429c47342'or one of its dependencies.The system cnnot find the file specified.

调用的时候就报错。 有的电脑可以,有的电脑却不行。高手给看看啊。

------解决方案--------------------
人品问题。。。
------解决方案--------------------
重新安装,安装问题
------解决方案--------------------
先删除oracle客户端(包括与oracle相关的dll),再重新安装,应该就可以解决
------解决方案--------------------
是否是驱动有问题。
------解决方案--------------------
直接导入dll用就不会这样了吧?
------解决方案--------------------
缺少相关组件?
卸载后重装吧。
------解决方案--------------------
是Oracle客户端的版本问题,Oracle公司最不人性化的地方就是每次新版本的客户端发布后,对应的ODP.NET的版本都不一样,不像微软,.NET版本只有大的版本号(2.0、3.0、3.5、4.0等),Oracle在大的版本号后面,最后一位版本号都一直在变化,而且64位的版本好和32位的更加不一样,导致问题频繁出现,除非你每个客户端都安装的是相同版本的Oracle客户端,否则就必须在配置文件中添加版本号兼容说明,方法如下:

<configuration>
  <connectionStrings>
  </connectionStrings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess"
        publicKeyToken="89B483F429C47342"
        culture="neutral" />
        <bindingRedirect
          oldVersion="2.112.2.0"
          newVersion="2.112.1.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

这里给你看的是11g的客户端配置,你是10g,oldVersion就是10.2.0.100,而newVersion你要去客户端电脑里面找对应的dll查看,位置在oracle\product\10.2.0\client_1\odp.net\bin,如果不存在bin目录,说明你安装的是精简版,不支持ODP.NET,必须安装完整版,至少要勾选.NET支持。或者你也可以直接下载11g的.NET专用客户端,向前兼容的,Google搜索ODTwithODAC下载,那个是给VisualStudio专用的,相对普通的客户端体积也小,用户安装时去掉VisualStudio相关勾选。

引用:
直接导入dll用就不会这样了吧?

不可能有用,我试过的!
------解决方案--------------------
怕麻烦就用 
using System.Data.OleDb;