dot net 程序无法连接Oracle9i

运行环境:

Windows XP Pro + SP2

Oracle 9.2.0.1.0 Client

DotNet Framework 1.1

程序中的连接字串:Provider=msdaora;Password=password;Persist Security Info=True;User Id=username;Data Source=server;

问题现象:

不能连接数据库,提示:未找到 Oracle 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 8i 版 (或更高) 客户软件安装的一部分。

问题原因:

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

解决方案:

给Authenticated Users 组加上访问Oracle Home目录的读写和运行权限

找到ORACLE_HOME目录,如D:oracleora92

安全属性中查看Authenticated Users组是否有“读取和运行”权限如果没有就加上,有的话先勾掉,再加上

重启动机器,配置生效。

[@more@]实际上修改的不是ORACLE目录,而是D:oracleora92
请使用浏览器的分享功能分享到微信等