隨著硬盤的升級,軟件的升級,64位系統越來越多被使用,以前的一些軟件不兼容性顯示出來了,像ASP連接Accesss數據庫編寫的程序就是一個不兼容的例子。
64位Windows 2003下面配置好IIS後,運行ASP頁面,如果裡面有連接Access數據庫的代碼,就會出現錯誤警告
ADODB.Connection 錯誤 '800a0e7a'
未找到提供程序。該程序可能未正確安裝。
/連接“網站內容管理”數據庫.ASP,行 2
原因:IIS是以64位方式來運行的,它只能加載64位模塊,不能加載32位模塊。而訪問Access數據庫的jet引擎只有32位的,沒有64位,因此無法被IIS加載。
解決思路:讓IIS以32位方式運行,從而可以調用32位的jet引擎
解決方法:在命令行窗口輸入
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
上面方法的負面效應:因為IIS被改成以32位方式運行,所以它只能加載32位模塊。如果改之前,IIS加載了其他64位的模塊,則改之後就無法加載這個模塊了。如果想繼續使用這個模塊的功能,只能尋找這個模塊的32位版本並加載。
如果希望IIS重新以64位方式運行,可以輸入
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0