【问题标题】:Error System.Data.OracleClient requires Oracle client software version 8.1.7 or greater when installs setup安装安装程序时出现错误 System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本
【发布时间】:2013-10-21 15:38:04
【问题描述】:

我制作了一个桌面应用程序设置,用于连接远程 Oracle 10g 数据库。当我在远程机器上安装安装程序并运行我的应用程序时,我收到以下错误:

system.data.oracleclient requires oracle client software version 8.1.7 or greater

它在我的开发机器上运行良好。

【问题讨论】:

标签: c# oracle oracle10g oracleclient


【解决方案1】:

这是一个安全问题,因此只需执行以下操作即可修复它:

  1. 转到 Oracle 客户端文件夹。
  2. 右键单击文件夹。
  3. 在安全选项卡上,添加“Authenticated Users”并授予此帐户读取和执行权限。
  4. 为所有文件夹、子文件夹和文件应用此安全性(重要)。
  5. 别忘了重启你的机器;如果您忘记执行此操作,除非您重新启动机器,否则您仍将面临同样的问题。

http://blogs.msdn.com/b/fabdulwahab/archive/2011/11/13/system-data-oracleclient-requires-oracle-client-software-version-8-1-7-or-greater.aspx

【讨论】:

  • 我在虚拟机中遇到了同样的问题,我做了更改,无需重新启动就可以正常工作!
【解决方案2】:

错误消息非常不言自明:您的应用程序需要在运行它的机器上安装 Oracle 客户端。您的开发 PC 已经拥有它。确保您的目标 PC 也有它。

编辑:System.Data.OracleClient 命名空间已弃用。确保使用数据库系统的原生驱动程序,即ODP.NET from Oracle

【讨论】:

  • 但我没有在安装程序中包含它的程序集。为什么还在说?
  • 我不明白你的问题。您的应用程序位于目标 PC 上。您的应用程序抛出关于需要安装 Oracle 客户端的错误。 Oracle 客户端显然不在目标 PC 上。你需要改变它。
  • 我在我的安装程序中嵌入了所需的程序集,现在它也复制到了客户端计算机上,但它仍然出现错误。是不是只复制不起作用,我也必须安装这个程序集?
  • 你复制了什么程序集? Oracle 的 Oracle 客户端?这里我们说的不是 System.Data.OracleClient,我们说的是 Oracle Client 安装,Oracle Corporation 提供的安装程序。
  • 我确实得到了你,但我的主要问题是无论如何嵌入它而不是将文件作为单独的安装程序安装在客户端计算机上??
【解决方案3】:

Oracle.ManagedDataAccess

安装 Nuget

确保您使用的是 Oracle 标头:

使用 Oracle.ManagedDataAccess.Client;

这对我有用。

【讨论】:

  • 这在我的情况下有效。 Intellisense 正在添加另一个 oracle 依赖项
【解决方案4】:

在您的远程计算机上,System.Data.OracleClient 需要访问一些不属于 .Net 的 oracle dll。解决方案:

  • 安装 Oracle 客户端,并将 bin 位置添加到 Windows 的 Path 环境变量中 或者
  • 复制 oraociicus10.dll(基础精简版)或aociei10.dll(基础版), oci.dll、orannzsbb10.dll 和 oraocci10.dll 从 oracle 客户端可安装文件夹到应用程序的 bin 文件夹,以便应用程序能够找到所需的 dll

在您的本地机器上,Oracle 客户端的路径很可能已经添加到 Path 环境变量中,以便应用程序可以使用所需的 dll,但远程机器上没有

【讨论】:

    【解决方案5】:

    如果您必须使用旧客户端,这是我的经验。

    我们正在运行 32 位服务器,因此开发机器运行 32 位客户端。我们运行 11.1 安装,11.2 得到错误。安装 11.2 版本后,您必须手动从 %windir%\Microsoft.NET\Framework\v2.0.50727 中删除文件 Oracle.Web.dllSystem.Data.OracleClient.dll,重新安装 11.1,然后使用 gacutil.exe 注册 dll。

    这解决了我的系统的问题。

    【讨论】:

      【解决方案6】:

      转到 C:\app\insolution\product\11.2.0\client_1\BIN 并找到 oci.dll。右键单击它 --> 属性 --> 在安全选项卡下,单击编辑 --> 然后单击添加按钮 --> 在此处添加两个名为 IUSR 和 IIS_IUSRS 的新用户并赋予他们完全控制权。就是这样。

      【讨论】:

        【解决方案7】:

        安装 Oracle 客户端 11.02.04 后,重新启动服务器并确保在根文件夹(例如 WWW)上添加了用户(本地计算机)并具有完全控制权

        经过测试,成功了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-01
          • 1970-01-01
          • 2015-05-27
          • 2022-08-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多