|
ntwdblib + SQL server 2008 + Win7 + Windows authentication
|
|||
---|---|---|---|
#18+
Хочу поделиться опытом решения проблемы, может кому пригодится. Итак, имеем приложение на PB 6.5 + SQL server 2008 приложение коннектится через MSS Microsoft SQL Server 6.x в режиме "Integrated Securuty" Пока работали с WinXP все было нормально с переходом на Win7 начались проблемы: приложение или падает или не коннектится к серверу с какой то странной ошибкой. анализ показал, что проблема состоит из 2 частей: 1. Некорректная работа ntwdblib, обычно решается установкой языка English у клиента и на сервере. Если не помогло, устанавливаем исправленный ntwdblib. Источник mr_choj Если кому интересна причина ошибки. Ntwdblib.dll для каких то целей обрабатывает сообщения вида "Changed database context to 'TestDb'", выделяя слово, которое заключено между апострофами (код символа 39). Поиск апострофов идет в цикле с конца строки, причем выход из цикла только при наличии апострофа . Если на сервере язык по умолчанию = русский, то сообщение выглядит так : "Контекст базы данных изменен на "TestDb"". Цикл поиска , не найдя апострофов, работает до выхода за границу допустимых адресов памяти. Замечено на MSSQL 2005 9.00.1399.06 c Ntwdblib.dll версии 2000.80.194.0 Ссылка на исправленный ntwdblib Источник ?К сообщению приложен файл (ntwdblib.dll.zip - 113Kb) cкачать http://www.sql.ru/forum/actualfile.aspx?id=15454881 2. В Win7 изменилось значение по-умолчанию политики сетевой безопасности: Администрирование -> Локальные политики безопасности -> Локальные политики -> Параметры безопасности -> Сетевая безопасность: уровень проверки подлинности LAN Manager. Надо явно указать значение "Отправлять LM и NTLM ответы", именно это значение использовалось по умолчанию в WinXP. В Win7 по умолчанию используется значение NTLMv2, которое не работает с SQL SERVER 2005 (или с Windows 2003). Источник авторI was able to resolve this situation by changing the security policy of the windows 7 machine. If you open the policy editor, you can go to local policies > security > network security: LAN Manager. By default windows 7 uses NTLMv2, which I don't think is supported by either SQL 2005 or Windows 2003. Anyway, change that to allow LM and NTLM and you should be good! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 12:36 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1335325]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
12ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 134ms |
0 / 0 |