原因在于64位操作系统没有access引擎。除此之外,windows 2003 server的其它ODBC驱动也需要安装对应版本。
解决方法:将iis切换为32位模式运行。
切换IIS运行模式为32位
开始→运行→cmd,运行脚本:cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1,即可将IIS由64位切换为32位模式;若想恢复为64位模式,运行脚本:cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0。若脚本报错,切换路径为C:\Inetpub\AdminScripts,因为adsutil.vbs文件在该路径下。
Asp.net运行模式为32位
重新注册asp.net,开始→运行→cmd,运行脚本:%SYSTEMROOT%\Microsoft.NET\Framework \v2.0.40607\aspnet_regiis.exe -i。若要注册64位,脚本为:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607 \aspnet_regiis.exe -i。
重启机器,IIS即可运行32位的程序,ODBC的连接也生效了。


评论列表: