Win2003 64位下ASP無法串連Access資料庫的解決方案_win伺服器

來源:互聯網
上載者:User
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


昨天去幫客戶配置網站,客戶服務器是使用的windows 2003 64bit的系統,我把iis網站配置好後測試時發現程式一直提示運行逾時,因為這個程式在32bit機器上運行沒有問題,懷疑問題出在迴圈處,讓程式在迴圈開始停住,測試可正常運行,輸出選項組rs.bof顯示空白,懷疑jet引擎有問題,將程式的出錯控制語句去掉後程式啟動並執行錯誤描述是未找到提供者,開啟"資料來源(ODBC)",轉到“驅動程式”選項卡一看,發現沒有JET引擎。於是從微軟網站上下載了mdac2.7安裝,安裝後發現問題依舊!

從網上搜尋發現是64位的iis無法相容32的jet引擎,需要讓iis以32為的方式運行,只要在命令列輸入一下命令
cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
之後IIS就會以32位方式來運行了。

運行命令後網站果然可以正常運行了

另外:網上還提到如果運行了asp.net模組當iis以32為方式運行時也必須載入32的asp.net擴充,否則iis無法正常運行,因為64位的IIS無法載入32位的ASP.Net模組,32位的IIS也無法載入64位的ASP.Net模組.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.