При запросе страницы ASP, подключающейся к базе данных Access в IIS 7.0, появляется следующее сообщение об ошибке: "Ошибка модуля базы данных Microsoft JET '80004005'"

Переводы статьи Переводы статьи
Код статьи: 926939 - Vizualiza?i produsele pentru care se aplic? acest articol.
Внимание! Данная статья содержит информацию по отключению параметров безопасности либо снижению уровня безопасности. Эти изменения позволяют обойти определенную проблему, однако предварительно рекомендуется взвесить последствия такого обхода для безопасности системы в существующей среде. При реализации этого метода обхода примите все необходимые дополнительные меры для защиты своей системы.
Развернуть все | Свернуть все

Проблема

Рассмотрим следующую ситуацию. На веб-сервере установлены службы Microsoft Internet Information Services (IIS) 7.0 и располагается страница ASP, подключающаяся к базе данных. Поставщиком данных для страницы ASP является Microsoft.Jet.OLEDB.4.0. Источником данных для страницы ASP является файл базы данных Microsoft Access (MDB). В этом случае при запросе страницы ASP может появиться следующее сообщение об ошибке.
Ошибка механизма базы данных Microsoft JET '80004005'
Неизвестная ошибка

Причина

Эта проблема может возникать в том случае, если IIS 7.0 настроен на загрузку профиля текущего пользователя для идентификации пула приложений. Это может привести к проблемам совместимости с устаревшими приложениями ASP и приложениями ADO, так как текущий пользователь может не обладать достаточными полномочиями для записи во временную папку.

Решение

Для решения этой проблемы необходимо добавить верные элементы управления доступом во временную папку для удостоверения процесса. Для этого выполните следующие действия.

Примечание. По умолчанию удостоверением процесса является NetworkService, а временная папка расположена по адресу %windir%\ServiceProfiles\NetworkService\AppData\Local\Temp.
  1. Нажмите кнопку Пуск, выберите пункт Все программы, а затем — Стандартные, щелкните пункт Командная строка правой кнопкой мыши и выберите Запуск от имени администратора в контекстном меню.
  2. При запросе пароля администратора или подтверждения введите пароль или нажмите кнопку Далее.
  3. Введите следующую команду и нажмите клавишу ВВОД:
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)
    Примечание. Эта команда позволяет каждому пользователю создавать файлы и папки во временной папке.
  4. Введите следующую команду и нажмите клавишу ВВОД:
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)
    Note Пользователь, создающий файл или папку во временной папке, является создателем-владельцем (CREATOR OWNER). Элемент управления доступом создателя-владельца позволяет дает пользователю полный контроль над файлами и папками. Другие пользователи не смогут получить доступ к этим файлам и папкам, так как они не являются создателем-владельцем.

Временное решение

Для решения этой проблемы воспользуйтесь способом, описаном в разделе «Решение». Однако, чтобы не добавлять элементы управления доступом ко временной папке для удостоверения процесса, проблему можно обойти, отключив свойство loadUserProfile для пула приложений. При отключении этого свойства IIS 7.0 не загружает профиль текущего пользователя для пула приложений.

Внимание! Отключение этого свойства может создать угрозу безопасности. Перед применением данного способа обхода убедитесь в том, что все риски оценены и учтены.

Для отключения параметра loadUserProfile для пула приложений измените файл ApplicationHost.config. В следующем примере показано, как это сделать.
<applicationPoolDefaults>
    <processModel identityType="NetworkService" loadUserProfile="false" />
</applicationPoolDefaults> 

Ссылки

Для получения дополнительных сведений о полномочиях пользователя при запуске запроса базы данных на странице ASP щелкните следующий номер статьи базы знаний Майкрософт:
210457 Ошибки приложений ASP 0115 или Inetinfo возникают при запуске файлом ASP запроса базы данных (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Для получения дополнительных сведений о полномочиях для временной папки при запуске запроса базы данных на странице ASP щелкните следующий номер статьи базы знаний Майкрософт:
315456 При подключении к базе данных из страницы ASP в приложении FrontPage отображается сообщение об ошибке в результатах базы данных (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Свойства

Код статьи: 926939 - Последний отзыв: 29 декабря 2007 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Information Services 7.0
Ключевые слова: 
kbtshoot kbprb KB926939

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com