WebSite开始抛出错误:超出了系统资源。 (访问DB)

时间:2010-09-03 18:02:19

标签: database ms-access iis

我有一个网页,在几页上给我这个错误

--------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '8007000e'

[Microsoft][ODBC Microsoft Access Driver] System resource exceeded. 
--------------------------------------------------------------------------------

我一直试图找到一个解决方案,但仍然没有运气。 这个网页在过去一周,甚至几个月都运行良好。

有人可以帮忙吗?谢谢!

3 个答案:

答案 0 :(得分:1)

您是否拥有未正确关闭并保持打开状态的数据库连接?

答案 1 :(得分:1)

我们会在我们的共享托管平台上定期看到这一点。以下是我们为用户提供的一些建议和指导:

  1. 使用后关闭数据库连接

  2. 压缩访问数据库,请参阅以下有关ASPFAQ的文章:Can I compact / repair an Access database from ASP code?

  3. 从ODBC切换到OLEDB(您需要使用无DSN的连接字符串)。我们发现ODBC是许多Access数据库问题的根本原因。即Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;

  4. 确保您使用的是Access数据库格式的更高版本。 Access 2000之前的任何东西都容易在托管条件下破坏。

  5. SELECT表中的数据较少。即只查询您需要的内容并删除那些SELECT * FROM,更喜欢只选择您需要的列

  6. 如果压缩后数据库大于100Mb,请考虑升级到MS SQL或移植到MySQL。我们发现Access数据库在共享主机上超过100Mb时会变得很麻烦。

  7. 如果您看到超过10-15个并发连接到您的网站,那么就应该考虑升级到MS SQL或MySQL。

答案 2 :(得分:0)

注册表中有要更改的密钥:

“ MaxLocksPerFile”

它可以位于两个分支中:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Jet \ 4.0 \ Engines \ Jet 4.0] [HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Jet \ 4.0 \ Engines \ Jet 3.x]

当前值为9500。改为设置119500。