Сайт начал выдавать ошибку: превышен системный ресурс. (Доступ к БД) - PullRequest
2 голосов
/ 03 сентября 2010

У меня есть веб-страница, на которой я вижу эту ошибку на нескольких страницах

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

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

Я пытался найти решение, но все еще не получилось.Эта веб-страница работала нормально в течение последней недели, даже месяцев.

Может кто-нибудь помочь?Спасибо!

Ответы [ 3 ]

1 голос
/ 04 сентября 2010

Мы периодически видим это на нашей платформе хостинга. Вот некоторые советы и рекомендации, которые мы предоставляем нашим пользователям:

  1. Закройте соединения с базой данных после их использования

  2. Сжатие базы данных доступа, см. Следующую статью на ASPFAQ: Можно ли сжать / восстановить базу данных Access из кода ASP?

  3. Переключение с ODBC на OLEDB (вам нужно использовать строку подключения без DSN). Мы считаем, что ODBC является основной причиной многих проблем с базами данных Access. т.е. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;

  4. Убедитесь, что вы используете более позднюю версию формата базы данных Access. Все, что связано с Pre-Access 2000, может быть взломано в условиях хостинга.

  5. SELECT меньше данных из ваших таблиц. то есть, запрашивайте только то, что вам нужно, и избавляйтесь от этих SELECT * FROM, предпочитая просто выбирать нужные вам столбцы

  6. Если размер вашей базы данных после сжатия превышает 100 МБ, рассмотрите возможность обновления до MS SQL или переноса на MySQL. Мы обнаруживаем, что базы данных Access становятся проблематичными, когда на разделяемом хостинге они превышают 100 МБ.

  7. Если вы видите более 10-15 одновременных подключений к вашему веб-сайту, то пришло время рассмотреть возможность обновления до MS SQL или MySQL.

1 голос
/ 03 сентября 2010

Возможно, у вас есть соединения с базой данных, которые не закрываются должным образом и остаются открытыми?

0 голосов
/ 30 июня 2019

В реестре есть ключ для изменения:

"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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...