11

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

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

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

4

7 回答 7

14

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

  1. 转到 Oracle 客户端文件夹。
  2. 右键单击该文件夹。
  3. 在安全选项卡上,添加“经过身份验证的用户”并授予此帐户读取和执行权限。
  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

于 2015-07-31T15:03:10.193 回答
8

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

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

于 2013-10-14T05:38:06.973 回答
2

为 Oracle.ManagedDataAccess 安装Nuget

确保您使用的是 Oracle 标头:

使用 Oracle.ManagedDataAccess.Client;

这对我有用。

于 2021-02-24T10:54:43.010 回答
0

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

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

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

于 2013-11-25T03:52:14.113 回答
0

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

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

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

于 2015-12-15T13:29:12.583 回答
0

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

于 2017-02-27T10:47:50.600 回答
0

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

经测试,有效。

于 2018-03-15T18:41:14.827 回答