第一个错误:
安装过程依旧是那样简单,但在配好IIS站点,准备连接数据库的时候出错了,以下是错误提示:
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。
以往这种情况的处理就是把ASPNET用户加上oracle/bin文件夹上,并开启读取与运行权限就OK了,但windows2008中,没有 ASPNET这个用户。那加谁好呢?试验了几个用户后,IIS_IUSRS?,都无果。最后,找到了“Authenticated Users”这个用户组,加上之后,重启了IIS,还是没有效果。是不是重启一下就OK了呢?抱着试试看的想法,重启了服务器,再一试,果然OK了。
(重点是重启服务器)
第二个错误
32的oracle在64位的oracle上运行错误。
将WEBSERVICE发布为x64平台的版本即可。
第三个错误
未能加载文件或程序集“PDAWebService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
是因为WEBSERVICE对应的应用程序池的高级设置中的“启用32位应用程序”设置成了TRUE,这时已32位模式运行64位程序,报错。改成false即可。
再写个测试程序,一个通过oracle客户端访问数据库,一个通过刚部署的webservice访问数据,都可以获得。
将程序编译成x86或x64分别运行,可以从弹出的错误消息中看出一些不同。
由于服务器上安装的是ORACLE11G64位客户端,因此程序必须编译成64位的才可以正常访问oracle