原因:
64位win7系统的Program Files (x86)路径中的括号引起的,oracle不认识这样的路径,所以就出现不能连接数据库了,但是用plsql和iis服务器运行程序的时候都是没有问题的,因此将vs2010的内部调试web服务器WebDev.WebServer20.EXE文件从Program Files (x86)路径中拷贝出来,放到oracle可以认识的路径中去,然后在调用该服务器调试就解决问题了。
方案:
1.将WebDev.WebServer20.EXE和WebDev.WebServer40.EXE文件从Program Files (x86)目录中拷贝出来放到c:dev目录中
2.开始->运行->cmd , 在命令行窗口输入: "C:devWebDev.WebServer20.EXE" /port:15970 /path:"D:MyWebSite" /vpath:"/"
该命令执行启动web调试服务器
注意上方的path和vpath分别表示:
path:项目文件所在路径
vpath:虚拟目录名称
port:调试端口号(可以自行设置)
3.在web项目上 右键->属性,在web选项卡中的“服务器”中“使用自定web服务器”,将服务器url设置为: http://localhost:15970
4.在指定页面中打断点调试;
此外也有可能是 oracle32位与64位的问题 可以修改环境变量的Path中,oracle安装目前的顺序,如在最前面添加“C:Oracleproduct;”,调整32位与64位的顺序
N天 在win2008 64位系统上 部署 webservice 又出现了:System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。 或似的英文错误(System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.)
很明显是 32位的程序调用了64位的Oracle 客户端软件
解决方案:
1.建一个目录存放32位的oracle驱动
2.修改环境变量,添加刚才建的目录;
3.修改应用程序池,允许32位应用程序
4.重启服务器