问题现象:
web服务器是64的server 2003,IIS 6.0,Oracle客户端是10g 64位。读取DBF文件提示失败。
问题原因:
读取DBF文件的驱动程序使用的是“VFPODBC.msi”该驱动程序只有32位的,上传DBF文件到数据库后,系统将读取文件的内容用GridView将内容展示给用户。由于在64为的服务器上默认搜索的是64位的驱动,因此无法找到VFPODBC.msi的驱动程序,导致上传文件提示失败。
解决方法:
运行批处理文件“net32onWin64.bat”安装32位的.netframwork 2.0 并将其注册到IIS 中;执行外该文件,后期的web 客户端请求都将有32为的netframwork 和32位的驱动程序处理。但是,由于Oracle客户端使用的是64位的,所有导致.netframwork 找不到32位的驱动,结果是登录不了系统;我采用了重新安装32位的Oracle客户端的方式解决了问题。
附件1: net32onWin64.bat
@color 06
@echo 在64位windows的IIS中安装32位的asp.net,点击任意键开始
@pause
@cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1
@C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
@echo 操作完成,现在请在IIS扩展中开启asp.net2.0.50727(32)
@pause
附件2: net64onWin64.bat
@color 06
@echo 在64位windows的IIS中安装32位的asp.net,点击任意键开始
@pause
@cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1
@C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
@echo 操作完成,现在请在IIS扩展中开启asp.net2.0.50727(32)
@pause