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,问题解决。
问题总结:处理问题,不能总是按老套路来,也需要旁敲侧击,多方印证。