本文主要介绍了ASP.Net无法连接Oracle的一个案例:即一个vs2003开发的老系统,在本地调试没有问题,发布到服务器上后发现无法连接数据库,在Open的时候报错如下:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
在网上查了很多介绍,都是说Oracle目录的权限设置有问题。于是就将Oracle目录的权限设定为Everyone完全控制,可是一点不起作用。难道要重启服务器吗?我又重新启动了服务器,3分钟后再测试,问题依旧。
难道是开发工具的问题?于是打开VS2008随便新建一个网站测试数据库连接,可是仍然报出同样的错。
正在我郁闷的不行的时候,看到桌面上的Toad,打开Toad连数据库试一试,结果也无法连接数据库,提示Can't initialize OCI. Error -1。这个Toad的报错我见过,意思是系统环境变量中没有Oracle的BIN目录。打开cmd,输入echo %path%查看系统Path变量的值,其中的几个目录中确实没有Oracle的BIN目录,看来问题原来在这里。
解决方法:
我的电脑右键->内容->进阶->环境变量->在系统变量中双击Path项,在变量值***输入分号,然后再将Oracle的Bin目录C:\oracle\product\10.2.0\client_1\BIN粘贴进去,接着一路点三个确定回到桌面。重新打开一个cmd窗口,输入echo %path%,发现其中有Oracle的BIN目录,这样Path就设置好了。***运行iisreset 重启IIS,问题解决了。
通过这个案例,我们学习到:当我们解决问题的时候不能只是按照常规的思路去找解决办法,而要多方面的去考虑,拓宽我们的思路,说不定问题就迎刃而解了。
本文就介绍到这里,谢谢大家的支持!
【编辑推荐】