问题
Server is dedicated and I have remote access.
We have custom ASP CMS with Access database and we use custom error pages for "mod rewrite". It works great.
This website is available in 6 different languages and each language has its own domain and they all connect to the same database.
Problem is, I get this error every few hours:
Microsoft JET Database Engine error '80004005'
Unspecified error
After I get this error I have to restart IIS or edit "Error pages settings" to detailed error and then set it again to custom. After that it works fine.
I have Process monitor installed and I track w3wp.exe proces.
When error ocurs I got Access denied on HKLM\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines
.
Thank you.
回答1:
Access database was never built for high volume traffic, most likely it just crash due to sheer amount of requests.
You really better switch to real databae, these days you have great many for free including SQL Server Express, MySQL and lots more.
In the meantime you can go through your code and make sure you:
Always close the Recordset right after using it then Setting it to Nothing e.g.
Do Until oRS.EOF 'do your stuff... oRS.MoveNext Loop 'Always close after use oRS.Close Set oRS = Nothing
Same for Connection object: close and dispose when you are finished with it.
Many times pages use Redirect - make sure to close and dispose before redirecting e.g.
If oRS.EOF Then 'Always close after use oRS.Close Set oRS = Nothing Response.Redirect("Error.asp?v=nouser") End If 'do your stuff... 'Always close after use oRS.Close Set oRS = Nothing
来源:https://stackoverflow.com/questions/11275624/asp-access-db-microsoft-jet-database-engine-error-80004005-unspecified-error