1. 程式人生 > >2003 64位 方法執行asp ,連線資料庫出現錯誤設定方法

2003 64位 方法執行asp ,連線資料庫出現錯誤設定方法

 由於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位相容方式執行。