在WIN7 X64系統或其它WINDOWS X64系統的IIS,使用JET連接不上ACCESS數據,
常見錯誤提示:
ADODB.Connection 錯誤 '800a0e7a',未找到提供程序。該程序可能未正確安裝。
或
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'
[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱并且未指定默認驅動程序
原因是沒有64位系統的JET驅動。
解決方法一:
開始 – 運行 – 輸入”cmd” ,鍵入以下命令啟用IIS的32 位模式:
(1)如果是IIS6
cscript %SYSTEMDRIVE%/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
(2)如果是IIS7:
appcmd list apppool /xml | appcmd set apppool /in /enable32BitAppOnWin64:true
注意:
APPcmd.exe 位于 C:/Windows/System32/inetsrv 目錄
使用 Cd c:/Windows/System32/inetsrv 切換到該目錄,
如果不切換會提示APPcmd不是內部或外部命令,也不是可以運行的程序,或批處理文件。
解決方法二:
修改應用程序池的“高級設置”。
打開IIS管理器,點擊左邊的“應用程序池”,在視圖中右鍵DefaultAppPool或你網站的獨立應用程序池名字,選擇高級設置,修改如下圖:
把啟用32位應用程序設為True.
解記方法三:
使用新版本的數據驅動
下載安裝:Microsoft Access Database Engine 2010 Redistributable for x64
修改連接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=;User ID=;Password=;
Data Source/User ID/Password按照實際情況設置。
但ACE和Jet的數據驅動是有差別的,經測試某些程序需要修改,但也不知道怎樣改,這方法并不算好。
推薦使用第二種方法,注意你的網站是否是獨立的應用程序池,
如果是,修改默認的應用程序池沒有作用,需要修改該網站名稱的應用程序池。
新聞熱點
疑難解答