System.Data.OleDb.OleDbException: неопределенная ошибка - PullRequest
2 голосов
/ 13 апреля 2011

Я полностью новичок в ASP.net и в настоящее время работаю над приложением CRM.Этот проект использует .mdb файлы в качестве бэкэнда, но я получаю следующую ошибку времени выполнения:

Описание: Произошло необработанное исключение во время выполнения текущего веб-запроса.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении:

System.Data.OleDb.OleDbException: Неопределенная ошибка трассировки стека:

[OleDbException (0x80004005): неопределенная ошибка]
EmployeeManager.isUser (String strUID, String strPswd) в каталоге d: \ hosting \ nitindia \ App_Code \ EmployeeManager.ees 48:.BtnSubmit_Click (Отправитель объекта, EventArgs e) в d: \ hosting \ nitindia \ Employees.aspx.vb: 35 System.Web.UI.WebControls.Button.OnClick (EventArgs e) + 111
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) + 110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (строковое событиеArgument) + 10
System.Wage.UI.RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent (NameValueCollection postData) + 36
System.Web.UI.Page.ProcessRequestMain (Boolean)includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 1565

Данная ошибка возникает только тогда, когда мы загружаем эти страницы и тестируем онлайн.При работе на localhost ошибка не возникает.

В чем причина этой проблемы и решение?

Ответы [ 3 ]

2 голосов
/ 15 марта 2012

System.Data.OleDb.OleDbException: неопределенная ошибка

Эта ошибка в основном относится к ошибке разрешения, для этой ошибки у нас есть несколько решений согласно ситуации

  1. Поместите impersonate = false в файл web.config.

  2. Если вы хотите в этом случае указать impersonate = true, вам необходимо предоставить разрешение на чтение / запись длявыдавать себя за пользователя в папке «C: \ Documents and Settings \ имя сервера \ ASPNET» или с помощью утилиты монитора процессов, вы можете проверить, какой файл не имеет достаточных разрешений.

  3. Если у вас есть окнаServer 2008, то вы не найдете папку ASPNET и по-прежнему хотите, чтобы impersonate = true, тогда вам нужно изменить конфигурацию в IIS 7.5 / 7.0.

Перейти к IIS -> выбрать пул приложений-> Расширенные настройки -> Модель процесса -> Идентичность = ApplicationPoolIdentity

Перейдите в IIS -> выберите пул приложений -> Расширенные настройки -> Загрузить профиль пользователя = Ложь

Подробнее см. Здесь .

0 голосов
/ 26 июля 2018

для поиска ответов:

попробуйте заглянуть в https://docs.microsoft.com/en-us/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/using-classic-asp-with-microsoft-access-databases-on-iis#using-process-monitor-to-gather-more-information и установить разрешения для временных папок

PS в моем случае это был самозваный пользователь, который не имеет доступа к временной папке текущего пользователя C: \ Users \ `Имя пользователя` \ AppData \ Local \ Temp \

0 голосов
/ 13 апреля 2011

Оба эти условия могут привести к возникновению этой (довольно бесполезной) ошибки:

  • Учетная запись ASPNET не имеет разрешений на открытие файла.

  • Файл базы данных заблокирован другим пользователем.

...