64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”&Server.mappath(db)
“driver=Microsoft Access Driver (*.mdb);DBQ=”&Server.MapPath(db)
既然这样,就只能使用一个办法,将IIS的运行环境设置为32位:
IIS6上的做法:
一、32位模式
1、cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1
首先在命令提示符(CMD)中执行以上语句以修改IIS配置,允许32位程序运行
2、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i
然后在命令提示符(CMD)中执行以上语句:为IIS注册asp.net32。注册后在IIS的web扩展里显示的是Asp.net2.0.*32bit。
3、最后需要在iis的Web服务扩展里允许 Asp.net2.0.*32bit运行。运行的是w3wp32.exe进程。
二、64位模式
1、cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0
该项目默认就是0,若原来运行了32位程序,则需要重新设置为0。
2、C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -i
同样为IIS注册64为Asp.NET。注册了64位ASP.NET的IIS在Web扩展里显示的是Asp.net2.0.*。
3、最后需要在iis的Web服务扩展里允许 Asp.net2.0.*运行。运行的是w3wp.exe进程。