IIS8/IIS7/IIS6 出現ADODB.Connection 錯誤 '800a0e7a'的解決辦法

 剛買了個服務器支持64位的Windows2003於是想爽一下,裝IIS6,只能裝64位的NET frameWork

  在XP32位下用VS2005發佈兩個網站:

A、基於於SQL2000
B、基於Office Access

  在服務器配置完畢後,A站正常運行,很爽。B站報錯,意思於法連接到數據庫,鬱悶很久。

  思考:今天網友提示64位IIS對Ole的支持問題。

  由於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.完成之後,看Web服務擴展,應該會多出一個32位的asp.net將其設置爲允許,缺點:這樣會使整個IIS上的所有站點都以32位兼容方式運行 。

IIS7上的做法要簡單很多:

應用程序池,高級設置-->允許32位應用程序
運行IIS6,運行.net+Access網站看看是否解決

  後續:如果還有問題,比如Service Unavailable,恭喜你,你可以學到新知識了。很討厭,看一下錯誤日誌,我遇到的是RpcProxy.dll無法加載和無法加載站點/服務的所有 ISAPI 篩選器錯誤。解決方法:打開iis-->查看“網站”的屬性--->ISAPI 篩選器-->把有向下的紅箭頭的項刪除掉-->重啓iis-->OK 。至此全解決。



以上是IIS 6 設置

以下是IIS7 設置方法

使用Win8下的IIS8來調試一個ASP程序,運行出現如下錯誤:ADODB.Connection 錯誤 '800a0e7a' 未找到提供程序。該程序可能未正確安裝。

使用Win8下的IIS8來調試一個ASP程序,運行出現如下錯誤:

ADODB.Connection 錯誤 '800a0e7a'

未找到提供程序。該程序可能未正確安裝。

/admi_datalink.asp,行 5

\

發現竟然是64位系統設置的問題,解決辦法非常簡單:

1、打開IIS,點擊“應用程序池”,找到操作下面的“設置應用程序池默認設置”(如圖);

\

2、將“應用程序池默認設置”中的“啓用32位應用程序”設置爲“True”(如圖);

\

這樣就消除了800a0e7a錯誤。


使用Win8下的IIS8來調試一個ASP程序,運行出現如下錯誤:ADODB.Connection 錯誤 '800a0e7a' 未找到提供程序。該程序可能未正確安裝。

使用Win8下的IIS8來調試一個ASP程序,運行出現如下錯誤:

ADODB.Connection 錯誤 '800a0e7a'

未找到提供程序。該程序可能未正確安裝。

/admi_datalink.asp,行 5

\


發佈了36 篇原創文章 · 獲贊 13 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章