我制作了一个与远程 Oracle 10g 数据库连接的桌面应用程序设置。当我在远程机器上安装安装程序并运行我的应用程序时,我收到以下错误:
system.data.oracleclient requires oracle client software version 8.1.7 or greater
它在我的开发机器上运行良好。
我制作了一个与远程 Oracle 10g 数据库连接的桌面应用程序设置。当我在远程机器上安装安装程序并运行我的应用程序时,我收到以下错误:
system.data.oracleclient requires oracle client software version 8.1.7 or greater
它在我的开发机器上运行良好。
这是一个安全问题,因此只需执行以下操作即可修复它:
错误消息非常不言自明:您的应用程序需要在运行它的机器上安装 Oracle 客户端。您的开发 PC 已经拥有它。确保您的目标 PC 也有它。
编辑:不推荐使用 System.Data.OracleClient 命名空间。确保使用数据库系统的原生驱动程序,即来自 Oracle 的 ODP.NET。
为 Oracle.ManagedDataAccess 安装Nuget
确保您使用的是 Oracle 标头:
使用 Oracle.ManagedDataAccess.Client;
这对我有用。
如果您必须使用旧客户端,这是我的经验。
我们正在运行 32 位服务器,因此开发机器运行 32 位客户端。我们运行 11.1 安装,11.2 得到错误。安装 11.2 版本后,您必须手动删除文件Oracle.Web.dll
并System.Data.OracleClient.dll
从%windir%\Microsoft.NET\Framework\v2.0.50727
.重新安装 11.1,然后将 dll 注册到gacutil.exe
.
这解决了我的系统的问题。
在您的远程计算机上,System.Data.OracleClient需要访问一些不属于 .Net 的 oracle dll。解决方案:
在您的本地机器上,Oracle 客户端的路径很可能已经添加到 Path 环境变量中,以便应用程序可以使用所需的 dll,但远程机器上没有
转到 C:\app\insolution\product\11.2.0\client_1\BIN 并找到 oci.dll。右键单击它 --> 属性 --> 在安全选项卡下,单击编辑 --> 然后单击添加按钮 --> 在此处添加两个名为 IUSR 和 IIS_IUSRS 的新用户并赋予他们完全控制权。而已。
安装 Oracle 客户端 11.02.04 后,重新启动服务器并确保在根文件夹上添加了用户(本地计算机)并具有完全控制权,例如 WWW
经测试,有效。