2009-11-22 91 views
1

老網站上共享主機已經執行一個簡單的SQL語句訪問和傳統的ASP錯誤80004005系統資源超過

Microsoft JET Database Engine error '80004005' 

System resource exceeded. 

/411971/users1.asp, line 68 

時68線設置objCon = objCommand.Execute

在Access開發的錯誤數據庫不大(小於2Mb),這是一個單表查詢,表中只包含大約500條記錄。沒有備忘錄字段,字段數也只有大約20。腳本中沒有任何改變。對數據庫的壓縮/修復沒有效果,就像創建新的數據庫並複製相關表格一樣。

在網絡中尋找這似乎很可能是一個Web服務器問題,而不是代碼(並且行爲也會表明這一點),但我沒有發現任何結論 - 並知道共享主機支持如何工作I在我去看他們之前,我希望有一個明確的案例。有沒有其他人看過這個錯誤/行爲之前和什麼是問題/解決方案。

觀察:我確信我已經嘗試了所有的辦法顯而易見然後通過電子郵件發送的ISP支持誰證實這是一個服務器的問題,重新啓動服務,解決了這一問題

+0

什麼是第68行? – JohnFx 2009-11-22 14:40:16

+0

Set objCon = objCommand.Execute – Cruachan 2009-11-22 15:26:02

回答

2

這可能僅僅是一個連接限制。在與使用相同後端的其他站點共享主機時,極限很容易被打到。雖然您可以通過確保在腳本使用完畢後明確關閉任何連接來提供幫助,但最終這將成爲您的提供商需要查看的託管問題。

這可能不是您想要聽到的內容,但Access/Jet是一個不適合Web應用程序的數據庫後端。只有幾個併發用戶,我得到了這樣的懸掛和莫名其妙的錯誤。當MySQL和SQL Server Express免費時,沒有理由在Web上使用Access。

+0

哦絕對和阿門。我沒有寫這個,實際上我正在開發一個替換系統,但我們需要修復當前的問題 – Cruachan 2009-11-22 15:28:28

+0

Jet/ACE不是不可接受的*所有* web後端,但它大多隻是小型的,規模適合的只讀網站。通過ADO訪問它比ODBC或DAO更好,因爲ADO是線程安全的(即使使用Jet/ACE),這樣可以使您的健壯性更高一點。 – 2009-11-23 21:30:46

0

如果問題再次發生,只要讓您的託管服務提供商回收IIS上的應用程序池。