我已创建了与远程Oracle 10g数据库连接的桌面应用程序安装程序。当我在远程计算机上安装安装程序并运行应用程序时,出现以下错误:
system.data.oracleclient requires oracle client software version 8.1.7 or greater
它在我的开发机器上运行良好。
hgc7kmma1#
这是一个安全问题,因此要解决它只需执行以下操作:1.转到Oracle客户端文件夹。1.右键单击文件夹。1.在“安全”选项卡上,添加“已验证用户”并给予此帐户“读取和执行”权限。1.对所有文件夹、子文件夹和文件应用此安全性(重要)。1.不要忘记重新启动您的计算机;如果你忘记做这你将仍然面临同样的问题除非你重新启动你的机器.http://blogs.msdn.com/b/fabdulwahab/archive/2011/11/13/system-data-oracleclient-requires-oracle-client-software-version-8-1-7-or-greater.aspx
vxqlmq5t2#
错误消息非常简单明了:您的应用程序需要在运行它的计算机上安装Oracle客户端。您的开发PC已经安装了该客户端。请确保您的目标PC也安装了该客户端。编辑:System.Data.OracleClient名称空间已过时。请确保使用数据库系统的本地驱动程序,即ODP.NET from Oracle。
46scxncf3#
为Oracle安装Nuget.托管数据访问确保您使用的是Oracle标题:
这对我很有效。
xtfmy6hx4#
在远程计算机上,System.Data.OracleClient需要访问一些不属于. Net的oracle dll。解决方案:
在本地计算机上,Oracle客户端的路径很可能已添加到Path环境变量中,应用程序可以使用所需的dll,但远程计算机上没有
2ekbmq325#
如果您必须使用较老的客户端,以下是我的经验。我们运行的是32位服务器,因此开发计算机运行的是32位客户端。我们运行11.1安装,11.2得到错误。一旦安装了11.2版本,您必须从%windir%\Microsoft.NET\Framework\v2.0.50727中手动删除文件Oracle.Web.dll和System.Data.OracleClient.dll,重新安装11.1,然后用gacutil.exe注册DLL。这修复了我的系统的问题。
%windir%\Microsoft.NET\Framework\v2.0.50727
Oracle.Web.dll
System.Data.OracleClient.dll
gacutil.exe
zbwhf8kr6#
转到C:\app\insolution\product\11.2.0\client_1\BIN并找到oci.dll。右键单击它--〉属性--〉在安全选项卡下,单击编辑--〉然后单击添加按钮--〉在此处添加两个名为IUSR和IIS_IUSRS的新用户,并给予他们完全控制权限。就是这样。
5cg8jx4n7#
安装Oracle客户端11.02.04后,重新启动服务器,并确保用户(本地计算机)已添加,并对根文件夹具有完全控制权限,例如WWW测试过了,成功了。
yqhsw0fo8#
这篇帖子主要是关于桌面和oracle消息的。我想谈谈运行dtexec的服务器类机器,它们会抛出这个错误消息。在我的例子中,这意味着在windows dtexec服务器上根本没有oracle客户端。可能在很多地方不会发生这种情况,但我们非常大,我们的oracle客户端很旧。基础架构团队将其列入弃用列表并删除了我们的oracle客户端。因此,如果您在服务器类计算机上收到此消息,则可能意味着您的dtexec服务器上的oracle客户端已被删除或损坏。
8条答案
按热度按时间hgc7kmma1#
这是一个安全问题,因此要解决它只需执行以下操作:
1.转到Oracle客户端文件夹。
1.右键单击文件夹。
1.在“安全”选项卡上,添加“已验证用户”并给予此帐户“读取和执行”权限。
1.对所有文件夹、子文件夹和文件应用此安全性(重要)。
1.不要忘记重新启动您的计算机;如果你忘记做这你将仍然面临同样的问题除非你重新启动你的机器.
http://blogs.msdn.com/b/fabdulwahab/archive/2011/11/13/system-data-oracleclient-requires-oracle-client-software-version-8-1-7-or-greater.aspx
vxqlmq5t2#
错误消息非常简单明了:您的应用程序需要在运行它的计算机上安装Oracle客户端。您的开发PC已经安装了该客户端。请确保您的目标PC也安装了该客户端。
编辑:System.Data.OracleClient名称空间已过时。请确保使用数据库系统的本地驱动程序,即ODP.NET from Oracle。
46scxncf3#
为Oracle安装Nuget.托管数据访问
确保您使用的是Oracle标题:
这对我很有效。
xtfmy6hx4#
在远程计算机上,System.Data.OracleClient需要访问一些不属于. Net的oracle dll。解决方案:
在本地计算机上,Oracle客户端的路径很可能已添加到Path环境变量中,应用程序可以使用所需的dll,但远程计算机上没有
2ekbmq325#
如果您必须使用较老的客户端,以下是我的经验。
我们运行的是32位服务器,因此开发计算机运行的是32位客户端。我们运行11.1安装,11.2得到错误。一旦安装了11.2版本,您必须从
%windir%\Microsoft.NET\Framework\v2.0.50727
中手动删除文件Oracle.Web.dll
和System.Data.OracleClient.dll
,重新安装11.1,然后用gacutil.exe
注册DLL。这修复了我的系统的问题。
zbwhf8kr6#
转到C:\app\insolution\product\11.2.0\client_1\BIN并找到oci.dll。右键单击它--〉属性--〉在安全选项卡下,单击编辑--〉然后单击添加按钮--〉在此处添加两个名为IUSR和IIS_IUSRS的新用户,并给予他们完全控制权限。就是这样。
5cg8jx4n7#
安装Oracle客户端11.02.04后,重新启动服务器,并确保用户(本地计算机)已添加,并对根文件夹具有完全控制权限,例如WWW
测试过了,成功了。
yqhsw0fo8#
这篇帖子主要是关于桌面和oracle消息的。我想谈谈运行dtexec的服务器类机器,它们会抛出这个错误消息。在我的例子中,这意味着在windows dtexec服务器上根本没有oracle客户端。可能在很多地方不会发生这种情况,但我们非常大,我们的oracle客户端很旧。基础架构团队将其列入弃用列表并删除了我们的oracle客户端。因此,如果您在服务器类计算机上收到此消息,则可能意味着您的dtexec服务器上的oracle客户端已被删除或损坏。