Asp Access db: Microsoft JET Database Engine error '80004005' Unspecified error

柔情痞子 提交于 2019-12-13 04:52:16

问题


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:

  1. 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
    
  2. Same for Connection object: close and dispose when you are finished with it.

  3. 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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!