服务器端安装了Oracle9i,本机安装完ASP.NET2003(安装在C盘),Oracle9i(安装在D盘)客户端后,
使用System.Data.OracleClient访问Oracle数据库时收到如下信息:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.连接字符串如下:
 "Data Source=***;User ID=abc;password=def;Unicode=True;";
应用程序在:C:\Inetpub\wwwroot\

解决方案 »

  1.   

    NTFS的权限问题
    如果已经装了客户端,还出现这个问题,那就是权限的问题,GOOGLE了一把,贴上来 
    ================================================================================ 
    最近做ASP.NET的项目,使用的数据库是Oracle9i。连接数据库是发生了错误,显示的信息如下: System.Data.OracleClient   需要   Oracle   客户端软件   8.1.7   或更高版本。   
    说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。   异常详细信息:   System.Exception:   System.Data.OracleClient   需要   Oracle   客户端软件   8.1.7   或更高版本。 真奇怪,明明已经是高于8.1.7版本了?怎么还不行。上网查才知道原因,唉!现在的NTFS分区真的是害死人啊。原来又是NTFS分区搞的鬼。正如同连接SQL   Server数据库一样,用户权限很重要,如果没有授权是无法正常操作的。Oracle   9i   Release   2   客户端在安装到Windows的NTFS分区下时的安全认证设置不正确,引起本机的Authenticated   Users用户无法看到ORACLE_HOME目录下的内容;   这导致在ASP.NET以Authenticated   Users权限使用System.Data.OracleClient连接Oracle数据库时报出以上错误。 
    要解决以上问题,只要给Authenticated   Users   组加上访问Oracle   Home目录的权限即可1、以Administrator权限登录Windows   2、启动Window   资源浏览器找到ORACLE_HOME目录,如C:\Oracle\ora92   3、右键弹出菜单,选择该目录共享与安全(Win2000下要点击属性)   4、点击   “安全”   页签   5、在组和用户名称列表中点击“Authenticated   Users”   项.   6、在该用户的权限列表中,将“读取和运行”的选择框置为不选中状态   7、再次点击“读取和运行”的选择框,将其设置为选中状态   8、点击“高级”按钮并在权限项目中确定“Authenticated   Users”   是否拥有“读取并运行”权限并应用于“该文件夹,及子文件夹和文件”.   如果不是,双击这样,并确保权限可以“应用于”   “该文件夹,及子文件夹和文件”.   该项非常重要你一定要核查.   9、点击“确定”   按钮   10、重启动,   以使得所有的修改生效. ============================================================================= 
    注意,权限设置好后,不用机器重启的,直接IIS重启下就行了,方法,开始-运行-CMD-IISRESET 
      

  2.   

    我也遇到了这个问题,按2楼说的做了,但是还是不好用。有没有别的情况会导致这种异常呢。ps,我用的是Oracle 10g。
      

  3.   

    哎,我也遇到这个问题,还是没能解决。但是我的客户端是没有安装ORACLE端的。难道客户端一定要安装客户端,那样不是很不方便吗?难于想象。
      

  4.   

    我在WIN2008服务器,重新启动了服务器才搞定的哟!可以尝试增加一个EVERYONE用户,然后给everyone用户读取和运行权限。