天天看點

64位IIS(IIS6/IIS7)上跑Asp + Jet.Oledb的設定要點

由于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位相容方式運作

IIS7上的做法要簡單很多:

應用程式池,進階設定-->允許32位應用程式,如下圖: