Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Сорри, что это боян, но ответов там нет.

Проблема: После наката SP3 на SQL2005 (9.0.4035, Win2003) перестали коннектится клиентские проги (из WinXP), использующие DBLIB.

AV в NTWDBLIB.DLL
Пока никакие меры не помогли :(

С SQL2005 2005 без SP3 все работает.
Советовать уйти от DBLIB не нужно. Это на перспективу. Проги должны работать сейчас.

Есть идеи ?
16 сен 09, 13:10    [7666908]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
isql.exe нормально работает? В какой момент вылетает AV?
16 сен 09, 13:13    [7666937]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
pkarklin
В какой момент вылетает AV?
В момент попытки соединения.
AV in address XXX in module ntwdblib.dll
Details:
{ntwdblib.dll} Unknown function at dbgetmaxprocs + $66
..............

ЗЫ: Кажется Вы уже принимали участие в обсуждении подобной ошибки.
Ошибка не у меня, а у знакомого. Просто он не может пользоваться инетом в р.в.
Так что инфа через испорченный телепхон.
Про isql.exe уточню.

Самому интересно.... :)
16 сен 09, 13:26    [7667046]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Про isql.exe уточню.


Уточните также по какому протоколу идет соединение и что будет, если его поменять, скажем с TCP\IP на Named Pipes.
16 сен 09, 13:42    [7667174]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
pkarklin
автор
Про isql.exe уточню.
Уточните также по какому протоколу идет соединение и что будет, если его поменять, скажем с TCP\IP на Named Pipes.
Все варианты протоколов пробовались. Без толку.
16 сен 09, 13:49    [7667233]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Нашел вот такое тынц

Удивился. У меня версия 2000.80.194.0 т.е. "оч. старая".
Новая аж 2000.80.2282.0 :)
Пока в инете не нашел ссылок на последние версии. Мож плохо искал ?
Мож поможет. А ?
16 сен 09, 19:07    [7669825]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Неужели никто не знает ?
17 сен 09, 18:19    [7675567]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
__Avenger__
Member

Откуда:
Сообщений: 1984
LSV,

Нашел у себя dll. Посмотри, может поможет.
17 сен 09, 20:09    [7675923]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
LSV
Неужели никто не знает ?


Ну а с isql что?
17 сен 09, 20:34    [7675993]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
__Avenger__
LSV,

Нашел у себя dll. Посмотри, может поможет.
Ух ты... 2000.80.2282.0 :)
Спасибо, попробуем. А то весь инет перерыл, а там только 2000.80.194
18 сен 09, 11:02    [7677484]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
Скажите, кто знает, а в 5-м CU для SQL Server 2005 SP3 это не исправили еще?
18 сен 09, 12:45    [7678427]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Ну кароч.. жесть еще та....

Версия ДЛЛ не помогла.
Как уже тут писалось...... соединяет примерно с 5-6 раза.
Установка в приложении try...except в цикле решила проблему.
Работает и на старой ДЛЛ.

ЗЫ: Блин...давно такого цирка не встречал.
18 сен 09, 13:22    [7678709]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
Петровский
Member

Откуда:
Сообщений: 3
Если сервер русский и используется BDE то в том баяне и написано что делать
По крайней мере я установил язык сервера и пользователя на английский - и все ок
url не получился - msg 7124519
18 сен 09, 16:00    [7680029]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Петровский
Если сервер русский и используется BDE то в том баяне и написано что делать
По крайней мере я установил язык сервера и пользователя на английский - и все ок
url не получился - msg 7124519
С языками само собой. Если их не выставить, то вообще не коннектится.
21 сен 09, 12:43    [7686533]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
mr_choj
Member

Откуда:
Сообщений: 15
Если кому интересна причина ошибки.
Ntwdblib.dll для каких то целей обрабатывает сообщения вида "Changed database context to 'TestDb'", выделяя слово, которое заключено между апострофами (код символа 39). Поиск апострофов идет в цикле с конца строки, причем выход из цикла только при наличии апострофа .
Если на сервере язык по умолчанию = русский, то сообщение выглядит так :
"Контекст базы данных изменен на "TestDb"". Цикл поиска , не найдя апострофов, работает до выхода за границу допустимых адресов памяти.

Замечено на MSSQL 2005 9.00.1399.06 c Ntwdblib.dll версии 2000.80.194.0
23 сен 09, 18:29    [7699608]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
Sp1nal
Member

Откуда:
Сообщений: 3
LSV
Ну кароч.. жесть еще та....

Версия ДЛЛ не помогла.
Как уже тут писалось...... соединяет примерно с 5-6 раза.
Установка в приложении try...except в цикле решила проблему.
Работает и на старой ДЛЛ.

ЗЫ: Блин...давно такого цирка не встречал.


А можно по подробней... где надо становить try...except.
Нужно запустить ERWin c Sql 2005, для Курсовика.
12 ноя 09, 17:07    [7921934]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
nvv13
Member

Откуда: Архангельск
Сообщений: 57
mr_choj
Если кому интересна причина ошибки.
Ntwdblib.dll для каких то целей обрабатывает сообщения вида "Changed database context to 'TestDb'", выделяя слово, которое заключено между апострофами (код символа 39). Поиск апострофов идет в цикле с конца строки, причем выход из цикла только при наличии апострофа .
Если на сервере язык по умолчанию = русский, то сообщение выглядит так :
"Контекст базы данных изменен на "TestDb"". Цикл поиска , не найдя апострофов, работает до выхода за границу допустимых адресов памяти.

Замечено на MSSQL 2005 9.00.1399.06 c Ntwdblib.dll версии 2000.80.194.0

спасибо за данную(ценную) информацию,
именно эта неприятность у меня и происходила,
для исправления проблемы, сделал следующие:

1) для проверки :
подредактировал скрипт на python (а-ля прокси сервер), который заменяет "master" на 'master' при соединении с базой,
скрипт запускаеться на другой машине (через неё, конектимся), в строчке
  q.connect(('MY_SERVER',1433))
вместо MY_SERVER, укажите IP сервера или имя
кому интерестно
скриптик, приложил во вложении...

2) скрипт, помог (в моей ситуации)
далее, стал искать, как заменить системное сообщение
"Контекст базы данных изменен на "%1!""
точнее, 2 символа в нем, на апострофы
...
данное сообщение оказалось "зашитой" в файлике
\MSSQL.1\MSSQL\Binn\Resources\1049\sqlevn70.rll

в кодировке Unicode это выглядит так:
000001A92C: 0000 0000 005C 0001 │ 041A 043E 043D 0442    \Конт
000001A93C: 0435 043A 0441 04420020 0431 0430 0437  екст баз
000001A94C: 044B 0020 0434 0430 │ 043D 043D 044B 0445  ы данных
000001A95C: 0020 0438 0437 043C │ 0435 043D 0435 043D   изменен
000001A96C: 0020 043D 0430 00200022 0025 0031 0021   на "%1!
000001A97C: 0073 0021 0022 002E │ 000D 000A 0000 0000  s!".

в обычном виде...
000001A92C: 00 00 00 00 5C 00 01 00 │ 1A 04 3E 04 3D 04 42 04      \  >=B
000001A93C: 35 04 3A 04 41 04 42 0420 00 31 04 30 04 37 04  5:AB  107
000001A94C: 4B 04 20 00 34 04 30 04 │ 3D 04 3D 04 4B 04 45 04  K  40==KE
000001A95C: 20 00 38 04 37 04 3C 0435 04 3D 04 35 04 3D 04    87<5=5=
000001A96C: 20 00 3D 04 30 04 20 0022 00 25 00 31 00 21 00    =0  " % 1 !
000001A97C: 73 00 21 00 22 00 2E 00 │ 0D 00 0A 00 00 00 00 00  s ! " . 


итак (в данном случае), надо заменить

0001A974: 0x22 на 0x27
0001A980: 0x22 на 0x27

...
после проверяем
select * from sys.messages where message_id=5701 and language_id=1049

К сообщению приложен файл (log.py - 1Kb) cкачать
19 янв 11, 13:13    [10096245]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
nvv13
Member

Откуда: Архангельск
Сообщений: 57
Для MS SQL 2012, то-же самое!

надо заменить байт 0x22h на 0x27h в двух местах

> fc /B sqlevn70.bak sqlevn70.rll
Сравнение файлов sqlevn70.bak и SQLEVN70.RLL
00022B88: 22 27
00022B94: 22 27
5 май 12, 15:48    [12514363]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
contik
Member

Откуда:
Сообщений: 2
Огромное спасибо!
Убил два дня на переустановку Банк-Клиента МКБ с SQL2008R2 - Express на полноценный SQL2008R2.
Хоть убейся, вылетала ошибка:
"Не удалось подключиться к БД через ntwdblib.dll"

В результате:
по этому пути:
"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Resources\1049\sqlevn70.rll"
нашел в файле данную строку.
Если кто будет искать в Far'е, то необходимо выбрать кодировку UTF-16 LittleEndian

Результат такой:
Сравнение файлов sqlevn70.rll и SQLEVN70.RLL.OLD
0001FFD8: 27 22
0001FFE4: 27 22


Спасибо огроменное!!!!! ЗАРАБОТАЛО! =)
5 апр 13, 20:25    [14142658]     Ответить | Цитировать Сообщить модератору
 Re: 2005+SP3 и глюк в NTWDBLIB.DLL  [new]
shura223
Member

Откуда:
Сообщений: 92
contik,

http://rouse.drkb.ru/other/ntwdblib_patched.zip - патченная библиотека, если кто будет искать подобное. Но, как говорят, ее лучше не юзать!
23 янв 14, 09:59    [15455159]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить