这两天写一个WebService,用VS2005,数据库用Oracle9i,在编辑环境一直可以运行,昨天测试调用。发布后,在IIS下访问不能连接到Oracle,提示错误信息“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”。在网上搜索到下面这篇文章,解决了问题:
1.问题:
在Windows SP2 + VS2005 + Oracle 9i +IIS5.1环境中运行ASP.NET网页的时候出现如下错误:
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
2.原因:
自己到网上去查看过,很多说是Windows 的NTFS分区的权限问题。说是某个用户无法看到ORACLE_HOME目录下的内容所致。自己设置了一下,不行。然后根据查看到的资料,估计到是权限的问题。自己又敢确定。
最后经过自己把问题解决了,原因确实是权限的问题。具体的原因自己没有办法证明。但这里有个解决的办法。
3解决:
(运行环境:Windows SP2 + VS2005 + Oracle 9i + IIS5.1)
1) 右键单击我的电脑à管理,打开计算机管理窗口。
2) 打开本地用户和组
3) 右键点击组Administratorsà属性,打开组Administrators的属性窗口。
4) 单击添加按钮打开选择用户窗口
5) 单击高级按钮,打开选择用户高级窗口.
6) 单击立即查找按钮。
7) 在用户列表中选择ASPNET用户,如图
8) 再单击确定按钮。回到选择用户高级窗口,再单击确定按钮
9) 回到组Administrators属性窗口,此时,用户ASPNET已经添加到了组Administrators中(如图),单击确定。回到计算机管理窗口。关闭计算机管理窗口。
10) 打开命令行窗口,输入iisreset命令重新启动IIS服务。
11) 再重新运行你的ASP就可以了。
总的解决思路是给ASPNET 添加进Administrators组里面去,也就是给ASPNET添加Administrator权限。具体方法可以由自己去掌握。
4总结:
可以说问题就是由于ASPNET没有相应的访问权限导致出错。解决办法当然是给ASPET用户提供足够的权限,让其能够访问到需要的资源。