访问和经典 ASP 错误 80004005 超出系统资源

Posted

技术标签:

【中文标题】访问和经典 ASP 错误 80004005 超出系统资源【英文标题】:Access and classic ASP error 80004005 System resource exceeded 【发布时间】:2009-11-22 14:37:06 【问题描述】:

共享主机上的旧站点在执行简单的 SQL 语句时出现错误

Microsoft JET Database Engine error '80004005'

System resource exceeded.

/411971/users1.asp, line 68 

第 68 行是 Set objCon = objCommand.Execute

Access 数据库并不大(小于 2Mb),这是一个单表查询,该表仅包含大约 500 条记录。字段数也只有大约 20 个,没有备注字段。脚本中没有任何变化。对数据库进行压缩/修复无效,创建新数据库并复制相关表也是如此。

在网络上环顾四周,这似乎很可能是网络服务器问题,而不是代码(并且行为也会表明这一点),但我没有找到任何结论性的东西 - 并且知道共享托管支持如何工作我'在我去找他们之前,我想有一个明确的案例。有没有其他人看到过这个错误/行为,问题/解决方案是什么。

结果:我确定我已经尝试了所有明显的方法,然后通过电子邮件发送给 ISP 支持,他们确认这是服务器问题并重新启动服务,从而解决了问题

【问题讨论】:

设置 objCon = objCommand.Execute 【参考方案1】:

这可能只是一个连接限制。在与使用相同后端的其他站点共享主机上,很容易达到限制。虽然您可以通过确保在脚本使用后明确关闭任何连接来提供帮助,但最终这将是您的提供商需要查看的托管问题。

这可能不是您想听到的,但 Access/Jet 是一个不适合 Web 应用程序的数据库后端。只有几个并发用户,我就遇到了像这样的挂起和莫名其妙的错误。当 mysql 和 SQL Server Express 免费时,没有理由在 Web 上使用 Access。

【讨论】:

哦,当然,阿门。这不是我写的,实际上我正在开发一个替换系统,但我们需要同时解决当前问题 Jet/ACE 对于所有 Web 后端来说并非不可接受,但它主要适用于小型只读网站。通过 ADO 访问它比 ODBC 或 DAO 更好,因为 ADO 是线程安全的(即使使用 Jet/ACE),这样可以让您更加稳健。【参考方案2】:

如果问题再次发生,请让您的托管服务提供商回收 IIS 上的应用程序池。

【讨论】:

以上是关于访问和经典 ASP 错误 80004005 超出系统资源的主要内容,如果未能解决你的问题,请参考以下文章

[ASP]错误 '80004005' 未发现数据源名称并且未指定默认驱动程序!

OleDb 异常 System.Data.OleDb.OleDbException (0x80004005): 超出系统资源

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC

经典 asp - ms 访问更新问题(Microsoft Jet 数据库引擎停止)

错误代码0X80004005 无法访问共享计算机的方法

安装iis打开网站提示Microsoft JET Database Engine 错误 '80004005'解决办法