安装完ASP.NET,Oracle9i客户端后,使用System.Data.OracleClient访问Oracle数据库如果出现这种错误:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

原因
Oracle 9i Release 2 客户端在安装到Windows的NTFS分区下时的安全认证设置不正确,引起本机的Authenticated Users用户无法看到ORACLE_HOME目录下的内容; 这导致在ASP.NET以Authenticated Users权限使用System.Data.OracleClient连接Oracle数据库时报出以上错误。

解决方法: 
在oracle/bin目录,加入给以下用户/组,授完全权限:
asp.net machine account
administrator
authenticated users
并且将Asp.net加入到administrator组,再重启IIS

上面这种方法是实践过可行的,

网上还有一种方案,大抵相同,有细小区别,其实不主张将asp.net加入administrator,也不主开开过份大的权限,但下面这种方法,试过似乎不可行:

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

Oracle 9.2下的“System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater” 
今天在连接Oracle的时候碰到一个问题,我的机器装的是Oracle9.2客户端,当在asp.net应用中使用数据访问的组件(调用System.Data.OracleClient)时,程序报“System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater”的错误,无法创建OracleConnection,但在同一台机器上用winfom客户端又能够正常访问到数据库。更加奇怪的是,我把应用部署到一台安装了Oracle 8.17客户端的机器上时,却能够正常运行。 
找了半天 ,终于搞清楚了原因。原来当Oracle 9.2运行在NTFS的分区上时,对于某些非administrator组的用户,ORACLE_HOME 目录是不可见的,而在windows server 2003下asp.net应用使用的帐户是netword service,因此无法创建oracle连接,只要重设一下ORACLE_HOME目录的权限就可以了。步骤如下: 
1、以管理员的用户登录; 
2、找到ORACLE_HOME文件夹(我的是C:\oracle\ora92),点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹; 
3、重新启动计算机,让权限设置生效(请注意,这一步很重要); 
4、登录后运行asp.net应用,正常取得Oracle数据库的数据。

【转】System.Data.OracleClient requires Oracle client software version 8.1.7 or greater的更多相关文章

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

    好好的程序,突然出现了错误,原因是:System.Data.OracleClient requires Oracle client software version 8.1.7 or greater, ...

  2. Data Base System.Data.OracleClient requires Oracle client software version 8.1.7 or greater解决方案

    System.Data.OracleClient requires Oracle client software version 8.1.7 or greater解决方案 一.问题: 1.通过Syst ...

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

    It is a security issue, so to fix it simply do the following: Go to the Oracle folder. 1- Right Clic ...

  4. System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本

    说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.ServiceModel.FaultEx ...

  5. 在VS 一切正常,发布到IIS出现问题 [System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本]

    在VS 一切正常,发布到IIS出现问题 [System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本] 前提条件: 在vs 开发的时候,一 ...

  6. 2019年9月(System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。)问题解决记录

    System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本. 在百度上寻找了很久,都说是权限的问题,可是更改过后一点效果也没有. 实际上真 ...

  7. 【ORACLE】“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。”解决办法

    我的电脑是win10.64位.问题如题,在网上找了很多办法都没搞好,如下: 1.给oracle目录设置“Authenticated Users”用户的“读取/写入”权限 2.IIS网站物理路径凭据添加 ...

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

    以server2008为例: 首先确保使用sqlplus能访问数据库. 1.管理工具->计算机管理->本地用户和组->组->administrators属性,添加,高级,立即查 ...

  9. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

随机推荐

  1. poj2405---体积几何

    #include <stdio.h> #include <stdlib.h> #include<math.h> #define pi acos(-1) int ma ...

  2. C语言 linux环境基于socket的简易即时通信程序

    转载请注明出处:http://www.cnblogs.com/kevince/p/3891033.html      ——By Kevince 最近在看linux网络编程相关,现学现卖,就写了一个简易 ...

  3. Linux编程---套接字

    网络相关的东西差点儿都是建立在套接字之上.所以这个内容对于程序猿来说还是蛮重要的啊. 事实上套接字也就是一个特殊的设备文件而已,我始终不能明确为什么要叫套接字.这么个奇怪的名字.只是还是就这样算了吧. ...

  4. 什么时候css会见less

    在一定程度上,css不能被视为一个节目.虽然和其他语言,它有自己的规范.编码,但它的笨拙实在让我失望. 不喜欢css是由于不管怎么优化代码.项目大到一定程序后.都会看上去一团乱.并且有时候一个bug的 ...

  5. Unity 3d 实施刚体力

    1.选中已经添加了刚体的物体,然后添加恒定力组件. 此组件可以给刚体中添加恒定的力或扭矩力,常用于一次性发射的刚体,如模拟火箭的发射.这种物体的初始速度不是很大,但是随着时间的推移,加速度会越来越大. ...

  6. 【转】SQL Server 2008 新类型介绍之Date和Time

     转自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor/archive/2009/07/13/4344429.aspx   SQL Server 2008除了 ...

  7. Java中的compareTo()函数用法

    public int compareTo(String anotherString) 按字典顺序比较两个字符串.该比较基于字符串中各个字符的 Unicode 值.将此 String 对象表示的字符序列 ...

  8. Hibernate中为什么要重写equals方法和hashcode方法

    1.*为什么要重写equals方法,首先我们来看一下equals源码: public boolean equals(Object anObject) { if (this == anObject) { ...

  9. C++ template学习二 类模板定义及实例化

    一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员.默写成员函数的参数.某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的). 如果一个类中数据成员 ...

  10. hdu3507

    题意: 给n(n<=10^6)个非负数字,放在一个数组num中,再给一个特殊值m.求将这个数组分成任意多个区间,每个区间[a,b]的值定义为( sigma(num[i] | (a<=i&l ...