Сбой w3wp.exe при вызове [System.Data.Odbc]::OdbcConnection.Open()
Я использую Microsoft Visual Web Developer 2010 Express для создания веб-страницы, которая извлекает данные из базы данных, чтобы заполнить раскрывающийся список соответствующими параметрами. Все работает просто замечательно, когда я отлаживаю страницу в разработчике, но когда я тестирую рабочую страницу, переходя к ней с помощью IE, я получаю окно Visual Studio Just-In-Time Debugger с сообщением "Произошло необработанное исключение win32 в w3wp.exe [#####]"где ##### - это число, которое меняется каждый раз, когда появляется ошибка. После некоторых исследований я обнаружил, что ошибка возникает, когда программа пытается вызвать любой метод OdbcConnection.Open(). Ниже приведена информация об исключении из DebugDiag.
Информация об исключении:
In w3wp__TTFCUAppPages__PID__1704__Date__04_25_2013__Time_12_37_29PM__536__Second_Chance_Exception_E0434352.dmp the assembly instruction at KERNELBASE!RaiseException+58 in C:\Windows\System32\KERNELBASE.dll from Microsoft Corporation has caused a CLR Exception on thread 23with the following error information:
Type:
System.AccessViolationException
Message:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Вот стек вызовов:
.NET Call Stack
Function
Full Call Stack
Function
Arg 1
Arg 2
Arg 3
Arg 4
Source
KERNELBASE!RaiseException+58
e0434352
00000001
00000005
058bf568
clr!RaiseTheExceptionInternalOnly+276
181aba38
00000000
00000000
181aba38
clr!RaiseTheException+87
181aba38
00000000
00000004
058bf760
clr!RaiseTheException+fe
00000000
00000004
00000004
5df9e75e
clr!RealCOMPlusThrow+3d
181aba38
00000000
00000004
058bf76c
clr!RealCOMPlusThrow+12
181aba38
00000004
56dd0faf
6d7e95d4
clr!Thread::RaiseCrossContextException+3e0
00000000
058bf7bc
56dd0093
03d1ea38
clr!Thread::DoADCallBack+2f3
00000002
6d98fe4e
058bf878
00000001
clr!UM2MDoADCallBack+c0
00b44760
ffffffff
058bf8e0
00000010
0x00a51ff8
00000000
00ac74a4
00000003
0000000c
webengine4!W3_MGD_HANDLER::ProcessNotification+5b
00ac74a4
69f81398
058bf95c
6d7878af
webengine4!ProcessNotificationCallback+36
00ac74a4
56dd019f
0000ffff
00040004
clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+195
058bf9bf
058bf9be
56dd010f
00000000
clr!ThreadpoolMgr::NewWorkerThreadStart+20b
00000000
56dd02f7
00000000
6d788499
clr!ThreadpoolMgr::WorkerThreadStart+3d1
00000000
76f637fa
76f637b8
00000000
clr!Thread::intermediateThreadProc+4b
00b858b8
058bfd98
76f6377b
00b858b8
kernel32!BaseThreadInitThunk+e
00b858b8
7dd9933f
00000000
00000000
ntdll!__RtlUserThreadStart+70
6d877698
00b858b8
00000000
00000000
ntdll!_RtlUserThreadStart+1b
6d877698
00b858b8
00000000
00000000
1 ответ
Решением было добавить встроенного пользователя ASPNET в локальные группы DB2ADMNS и DB2USERS. Меню "Пуск" Щелкните правой кнопкой мыши "Компьютер". Выберите "Управление", разверните "Локальные пользователи и группы". Нажмите "Группы". Найдите группы "DB2ADMNS" и "DB2USERS". Добавьте пользователя "ASPNET" в каждую из этих групп.