解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”

来源:互联网 发布:未来5g网络的时延 编辑:程序博客网 时间:2024/05/14 03:57

我的是XP操作系统,分区是fat32的,在本地机器上了oracle9i的服务器端,
在用C#调试的时候,出了标题的问题。
在网上找了一下,基本都是一下思路:

问题描述:服务器端装的是Windows XP 和Oracle 10g。在服务器端能够正常的访问Oracle数据库,但远程访问该数据库(使用VS 2005,客户端同样是Oracle10g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”。

    解决的办法:

    1.一定要关闭Windows 防火墙;

    2.找到ORACLE_HOME文件夹(服务器端是D:/oracle)。点击右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在权限列表中把“读取和运行”的权限去掉,再按应用(据说这是Oracle的一个Bug,在9i版本中也存在);重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认 “Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;

    3.重新启动计算机,让权限设置生效(也可以不重新启动,在运行里运行cmd打开命令窗口,运行命令iisreset,重启下IIS,就可以正常访问);

    4.最后客户端如果还不能访问,(我客户端用的是VS2005,用的是其内置的IIS测试代码)重新启动VS2005即可。

不过,我的并不是ntfs的分区,所以ORACLE_HOME文件夹并无“安全”选项卡,这也是困惑之所在,又接着在网上找,发现了以下思路:

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

解决方案1 以Administrator权限登录Windows. 启动Window 资源浏览器找到ORACLE_HOME目录,如C:/Oracle/ora92 右键弹出菜单,选择该目录共享与安全(Win2000下要点击属性)点击 “安全” 页签在组和用户名称列表中点击“Authenticated Users” 项. 在该用户的权限列表中,将“读取和运行”的选择框置为不选中状态再次点击“读取和运行”的选择框,将其设置为选中状态点击“高级”按钮并在权限项目中确定“Authenticated Users” 是否拥有“读取并运行”权限并应用于“该文件夹,及子文件夹和文件”. 如果不是,双击这样,并确保权限可以“应用于” “该文件夹,及子文件夹和文件”. 该项非常重要你一定要核查. 点击“确定” 按钮重启动, 以使得所有的修改生效.

解决方案2 安装oracle_net.msi

解决方案3 重装一遍Oracle Client 待试

解决方案4 1. 先安裝Oracle Client 8.1.7以上的版本。 2. Oracle Home (如:d:/oracle/ora92)所在的目录授权ASPNET这个使用者有读取Oracle Home这个目录的权限。

解决方案5 安装ORACLE9i 问题解决

虽然有重复的地方,不过说了点不同的地方,比如‘oracle_net.msi’的安装,但我装了之后还是不好用,这个大家可以尝试一下,我试了,不好用,问题依旧。

然后我就重装一遍Oracle Client ,这回好用了。别的解决方案我没有试,大家有这方面问题而安装客户端也不行的话,可以尝试一下别的方式。

原创粉丝点击