我一直在用经典的 ASP 编写一个可以访问 2 个 Access 数据库的应用程序。我有一个正在处理的页面抛出异常,这在开发过程中是正常的,不会导致持久的问题。然而,这一次,在异常发生后,任何打开任一数据库的尝试都会以无限脚本超时冻结会话。如果我删除会话 cookie,我将能够再次访问 ASP 页面,直到我再次尝试打开数据库。
引发异常时打开的数据库保持打开状态。有一个 LDB 锁定文件,我无法重命名或删除 LDB 或 MDB 文件,但我可以使用 FTP 下载 MDB 文件。第二个访问数据库未打开,但任何读取此数据库的尝试也会挂起会话。
访问 HTML 页面很好。
该站点由 Hostway 托管,他们不感兴趣(“编码问题 = 您的问题”,即使它使我的站点陷入困境,我怀疑直到下一次重新启动,无论何时)。
以下是引发异常的相关 ASP 页面的转储:
Active Server Pages error 'ASP 0115'
Unexpected error
/translatestats.asp
A trappable error (C0000005) occurred in an external object. The script cannot continue running.
Active Server Pages error 'ASP 0240'
Script Engine Exception
/translatestats.asp
A ScriptEngine threw exception 'C0000005' in 'IActiveScript::Close()' from 'CActiveScriptEngine::FinalRelease()'.
有什么方法可以解除站点/强制远程关闭数据库?