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上的做法:
1.命令行鍵入:
cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
即設置IIS6允許32位程序運行在64位機器上
2.重新注冊.net FrameWorks
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
3.完成之后,應該會看到多出一個32位的asp.net,如下圖:
將其設置為允許,缺點:這樣會使整個IIS上的所有站點都以32位兼容方式運行
然后再運行一下:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
這樣就可以跑32位的程序了。
不過在IIS7上的做法要簡單很多:
應用程序池,高級設置–>允許32位應用程序,如下圖: