WIN7 上,asp+access相關設定問題
2015-02-27 分類:web 技術 閱讀次數:3449 評論(1)WIN7+IIS7, 可以支援asp+access等程式資料庫設計,無須修改應用程式集區。
首先,WIN7上,預設並未開啟IIS,所以我們先安裝IIS7,由「控制台」─「程式和功能」,點選我們所需的 World Wide Web服務內,相關選項,把應用程式開發功能內,選項大部分依照需求選上。
為了程式開發方便起見,先打開ASP偵錯,當程式出現錯誤時,才能簡易的檢視錯誤位置及相關原因。
接著,由於access跟excel的資料庫 MicrosoftOLEDBProviderforJet 在64位版本中不可用。也就是說,如下兩種連接字符串都已經無法正常工作了: "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.mappath(db) "driver=MicrosoftAccessDriver(*.mdb);DBQ="&Server.MapPath(db) 在64位元windowns7系統中連接ACCESS資料庫: 打開左邊的「應用程式集區」,右擊右邊的「DefaultAppPool」,選擇「進階設定」,設置「啟用32位應用程式」為「True」 因此,我們不得不修改IIS運行環境為32位元:
另外,由於SQL資料連接在Windows 7 64位元機器上運行,連接字串為: "PROVIDER=SQLOLEDB;DATASOURCE="&SqlLocalName&";UID="&SqlUsername&";PWD="&SqlPassword&";DATABASE="&SqlDatabaseName
常出現錯誤為:「磁碟或網路錯誤」或「未指定的錯誤」、MicrosoftJETDatabaseEngine錯誤、'80004005' 未指定的錯誤、MicrosoftOLEDBProviderforODBCDrivers錯誤、'80004005'[Microsoft][ODBCMicrosoftAccess驅動程序]磁碟或網路錯誤等等。
產生這樣的錯誤是因為IIS沒有讀取IE緩衝區權限所引起(錯誤取決於你使用哪種方式連接Access資料庫)。請設定緩存目錄的權限即可,如下:
打開文件夾:(注意,AppData文件夾是隱藏文件夾)
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\
在Temp上點擊右鍵,依次點擊「內容」、「安全性」、「編輯」、「添加」,然後輸入「AuthenticatedUsers」並點擊確定。然後在AuthenticatedUsers的權限裡面,設置「完全控制」和「修改」的權限。
如果程式執行後,仍有其他錯誤,必要時,重新安裝或者重新註冊msadds.dll(OLEDBDataShape)
打開DOS黑窗,執行:
(64位元系統指令)REGSVR32"C:\ProgramFiles(x86)\CommonFiles\System\OleDB\MSDASQL.DLL"
(32位元系統指令)REGSVR32"C:\ProgramFiles\CommonFiles\System\oledb\MSDASQL.DLL"
評論
發表評論