64 位 Windows Server 2008/2012 IIS 運行經典 ASP 連接 Access (Jet OLEDB 4.0) 時,報 ADODB.Connection 錯誤 '800a0e7a' 未找到提供程序。該程序可能未正確安裝。。根因:64 位系統無 64 位 Jet 驅動,需在應用程式池啟用 32 位模式調用 SysWOW64 子系統。

| 模式 | 進程位數 | 可載入驅動 | 適用場景 |
|---|---|---|---|
| 啟用 32 位 = False (預設) | 64 位 | 僅 64 位 DLL/驅動 | 純 64 位應用 (現代 .NET Core, Node.js 等) |
| 啟用 32 位 = True | 32 位 (WoW64) | 32 位 DLL/驅動 (Jet 4.0, 舊 COM 組件) | 經典 ASP + Access、VB6 COM、舊版 Oracle Client |
若伺服器同時運行 64 位與 32 位站點,建議為舊 ASP 站點建立專用應用程式池,單獨啟用 32 位模式,避免影響其他站點性能。
ClassicASP_Pool、.NET 版本「無託管代碼」、管道模式「經典」。ClassicASP_Pool。
' 測試腳本 test.asp
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")
Response.Write "連接成功: " & conn.State
conn.Close
瀏覽器訪問顯示「連接成功: 1」即配置生效。
一鍵啟用 32 位模式,讓經典 ASP 在 64 位 IIS 上無縫運行,延續舊系統生命週期。