由於Win R2 是64位元系統。在用IIS測試ASP網站時,連接資料庫代碼總是不成功。
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db) 用這種方式時返回“3706”錯誤值。
"Driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db) 用這種方式時返回“-2147467259”錯誤值。
因為Win2008 R2 是64位操作系統。而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位。IIS的版本不一樣處理起來也會不一樣。下面就分別對IIS7和IIS6處理作說明。
一.IIS7處理起來很簡單,具體步驟如下:
在IIS7下選擇“應用程式池”,右擊對應網站的應用程式池,“啟用32位元應用程式”設置為“True”即可。
二.IIS6處理,具體步驟如下:
1.在命令列輸入:
cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
2.重新註冊.NET FrameWorks.
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
3. 完成之後,應該會看到多出一個32位的asp.net,將其設置為允許,缺點:這樣會使整個IIS上的所有網站都以32位元相容方式運行。
2012年1月18日 星期三
Win R2 是64位元系統開Access方式
張貼者:
Unknown
於
星期三, 1月 18, 2012
訂閱:
文章 (Atom)