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

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

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

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

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

[OleDbException (0x80004005): неопределенная ошибка]
EmployeeManager.isUser (String strUID, String strPswd) в d: \ hosting \ nitindia \ App_Code \ EmployeeManager.vb: 481 Employees.BtnSubmit_Click (Object sender, EventArgs e) \ hosting \ nitindia \ Employees.aspx.vb: 35 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +110 < br> System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) String eventArgument Web.UI.Page.RaisePostBackEvent (NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain (логическое includeStagesBeforeAsyncPoint, логическое includeStagesAfterAsyncPoint) +1565

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

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


person Amol K    schedule 13.04.2011    source источник


Ответы (3)


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

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

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

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

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

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

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

См. здесь для более подробной информации.

person Narendra Kumar    schedule 15.03.2012
comment
Что за PITA - мне потребовался час, чтобы найти ключ к разгадке этого подражания! Спасибо - person jleach; 08.02.2017

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

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

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

person DaveRead    schedule 13.04.2011
comment
Как я проверяю, есть ли у учетной записи разрешение на открытие или нет - person Amol K; 13.04.2011
comment
База данных не заблокирована, но успешно работает на локальном хосте. - person Amol K; 13.04.2011
comment
Здравствуйте, уважаемый DaveRead, есть ли какое-нибудь решение .... пожалуйста, помогите мне. Эта ошибка возникала не всегда. - person Amol K; 13.04.2011

для автоответчиков:

попробуйте заглянуть в 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 \ `Username` \ AppData \ Local \ Temp \

person Klimovec Alexey    schedule 26.07.2018
comment
Добро пожаловать в Stack Overflow! Хотя ссылки - отличный способ обмена знаниями, они не ответят на вопрос, если в будущем они будут сломаны. Добавьте к своему ответу основное содержание ссылки, которая отвечает на вопрос. Если содержание слишком сложное или слишком большое, чтобы уместиться здесь, опишите общую идею предлагаемого решения. Не забывайте всегда сохранять ссылку на веб-сайт исходного решения. См .: Как написать хороший ответ? - person sɐunıɔןɐqɐp; 26.07.2018