2009-11-22 87 views
1

老网站上共享主机已经执行一个简单的SQL语句访问和传统的ASP错误80004005系统资源超过

Microsoft JET Database Engine error '80004005' 

System resource exceeded. 

/411971/users1.asp, line 68 

时68线设置objCon = objCommand.Execute

在Access开发的错误数据库不大(小于2Mb),这是一个单表查询,表中只包含大约500条记录。没有备忘录字段,字段数也只有大约20。脚本中没有任何改变。对数据库的压缩/修复没有效果,就像创建新的数据库并复制相关表格一样。

在网络中寻找这似乎很可能是一个Web服务器问题,而不是代码(并且行为也会表明这一点),但我没有发现任何结论 - 并知道共享主机支持如何工作I在我去看他们之前,我希望有一个明确的案例。有没有其他人看过这个错误/行为之前和什么是问题/解决方案。

观察:我确信我已经尝试了所有的办法显而易见然后通过电子邮件发送的ISP支持谁证实这是一个服务器的问题,重新启动服务,解决了这一问题

+0

什么是第68行? – JohnFx 2009-11-22 14:40:16

+0

Set objCon = objCommand.Execute – Cruachan 2009-11-22 15:26:02

回答

2

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

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

+0

哦绝对和阿门。我没有写这个,实际上我正在开发一个替换系统,但我们需要修复当前的问题 – Cruachan 2009-11-22 15:28:28

+0

Jet/ACE不是不可接受的*所有* web后端,但它大多只是小型的,规模适合的只读网站。通过ADO访问它比ODBC或DAO更好,因为ADO是线程安全的(即使使用Jet/ACE),这样可以使您的健壮性更高一点。 – 2009-11-23 21:30:46

0

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