Asp Access db:Microsoft JET数据库引擎错误'80004005'未指定错误

时间:2012-06-30 16:13:19

标签: asp-classic jet

服务器专用,我可以远程访问。

我们有自定义ASP CMS和Access数据库,我们使用自定义错误页面进行" mod rewrite"。它很棒。

本网站提供6种不同语言版本,每种语言都有自己的域名,并且都连接到同一个数据库。

问题是,我每隔几个小时就会收到这个错误:

  

Microsoft JET数据库引擎错误' 80004005'
  未指定的错误

我收到此错误后,我必须重新启动IIS或编辑"错误页面设置"到详细错误,然后再次将其设置为自定义。之后它运作正常。

我安装了Process监视器,并跟踪w3wp.exe进程。

发生错误时,我在HKLM\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines上拒绝访问。

谢谢。

1 个答案:

答案 0 :(得分:1)

从未为高容量流量构建Access数据库,很可能它只是因为大量请求而崩溃。

你最好切换到真正的数据库,现在你有很多免费的,包括SQL Server Express,MySQL等等。

与此同时,您可以查看代码并确保:

  1. 使用后立即关闭Recordset,然后将其设置为Nothing,例如

    Do Until oRS.EOF
        'do your stuff...
        oRS.MoveNext
    Loop
    
    'Always close after use
    oRS.Close
    Set oRS = Nothing
    
  2. 连接对象相同:完成后关闭并处理。

  3. 很多时候页面使用重定向 - 确保在重定向之前关闭并处理,例如。

    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