zoukankan      html  css  js  c++  java
  • 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数据库的数据。

  • 相关阅读:
    HashMap源码分析
    静态代理和装饰模式的区别
    自动内存管理
    ReentrantReadWriteLock
    ReentranLock
    对象的内存布局
    对象的创建
    [P2495][SDOI2011]消耗战——虚树
    [HDU2966]In case of failure——KD树
    [Gym-101158J]Coverthe Polygon with Your Disk——梯度下降,模拟退火
  • 原文地址:https://www.cnblogs.com/jeet/p/115150.html
Copyright © 2011-2022 走看看