(转)Asp.net连接Oracle 9i失败解决方法
2006-12-29 13:28
477 查看
安装完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.
原因
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数据库的数据。
相关文章推荐
- Asp.net连接Oracle 9i失败解决方法
- (转)Asp.net连接Oracle 9i失败解决方法
- Asp.net连接Oracle 9i失败解决方法
- Asp.net连接Oracle 9i失败解决方法
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(在win2003 ntfs 下IIS发布只显示登陆界面 不进入系统解决办法)
- 收藏:Asp.Net 连接Oracle数据库 出现"找不到 Oracle 客户端和网络组件" 彻底解决方法!
- ASP.NET和Oracle连接问题的解决方法 - Unable to load DLL (oci.dll)
- .NET连接SAP系统专题:sapnco.dll在ASP.NET中载入失败的解决方法(九)
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(摘录)
- .NET连接SAP系统专题:sapnco.dll在ASP.NET中载入失败的解决方法(九)
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法
- .NET连接SAP系统专题:sapnco.dll在ASP.NET中载入失败的解决方法(九)(转)
- [收藏]Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 彻底解决方法!
- ASP.NET和Oracle连接问题的解决方法——Unable to load DLL (oci.dll)
- .NET连接SAP系统专题:sapnco.dll在ASP.NET中载入失败的解决方法(九)
- 关于ASP.NET 无法连接MySql数据库的问题和解决方法
- ASP.NET-ASP.NET配置(web.config)无法连接到SQL Server 数据库的解决方法
- Kettle 连接失败 Oracle 数据库报 ora-12505 的解决方法