Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
Наблюдается такая странная картина:

приложение, работающеее через ОЛДБ коннектится к SQL Server, используя SQL юзера, т.е. показывает стандартный логин диалог на старте.
После ввода имя/пароль и нажатия на ОК проходит 30-40 секунд и выдается окно с ошибкой логин таймаут (HYT00), нажимаю ок и снова жму ОК в логин дилаоге - сразу коннектится.
Проверил базу - не уходит в состояние Close.

Что за фигня может быть? где не так?
13 фев 17, 15:30    [20208023]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Полный текст сообщения об ошибке приведите.
13 фев 17, 15:39    [20208093]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
Гавриленко Сергей Алексеевич
Полный текст сообщения об ошибке приведите.


Окно:
"Microsoft SQL Server Login"
Текст:
Connection failed:
SQLState: 'HYT00'
SQL Server Error: 0
13 фев 17, 15:42    [20208108]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
Что примечательно: пустил тест через одбц манагер- коннект прошел успешно
13 фев 17, 15:44    [20208120]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Для начала профайлером убедитесь, что коннекта таки нет в первом случае. Если его и правда нет, то может всякое быть -- антитвирусы, сеть и т.п.
13 фев 17, 15:47    [20208145]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
Гавриленко Сергей Алексеевич
Для начала профайлером убедитесь, что коннекта таки нет в первом случае. Если его и правда нет, то может всякое быть -- антитвирусы, сеть и т.п.


да, ок. Но он же появляется при повторном нажатии на кнопку ОК.
И туда же:
если перед первым нажатием ОК для логина нажать на кнопку Options, то висит и дает такое же сообщение о таймауте.
А если после получения первого сообщения об ошибке перед вторым нажатием нажать на кнопку Options - то список баз есть, всё ок.
13 фев 17, 15:58    [20208195]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
какая-то программная заморочка.
откуда программа берет имя сервера?
явно же в первый раз передает имя сервера некорректно
13 фев 17, 16:58    [20208498]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
Ролг Хупин
Что примечательно: пустил тест через одбц манагер- коннект прошел успешно

еще бы. он передает правильное имя, а не то, которое шлет программа.
и autoclose ни при чем,
о базах речь не идет вообще: сервер не найден.
13 фев 17, 17:00    [20208507]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
o-o
какая-то программная заморочка.
откуда программа берет имя сервера?
явно же в первый раз передает имя сервера некорректно


Ну, да, но второй-то раз никто ничего не исправляет, данные те же остаются, и имя сервера, и юзера и т.д., юзер втыкает в месыджбокс, закрывает его и снова жмет ОК в логин диалоге, и все проходит.
В профайлере до второго нажатия ничего нет от этого клиента.
14 фев 17, 11:57    [20210219]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
еще раз: в профайлере ничего нет,
т.к. сервер не найден и до логона не доходит.
а не найден он потому, что передается неверное имя сервера.
вместо соединения с сервером навесь на нажатие кнопки вывод в мессаджбоксе строки подключения.
и увидишь, что в первый раз там что-то не то.
ты, кстати, не ответил, откуда программа берет строку подключения,
считывает из диалога?
выведи все равно и убедись, что ничего не корежится при считывании
14 фев 17, 12:24    [20210313]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

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


строка подключения формируется в прилагалище из параметров, сохраненных в реестре:

имя сервера
базы
имя юзера и пароль вводятся рукой

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

Перетащил приложение на машину, где установлен сервер, там все ок, работает.
14 фев 17, 12:37    [20210362]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Ролг Хупин,

чудес-то не бывает. Поставьте сниффер, смотрите пакеты.
14 фев 17, 12:41    [20210377]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
разве так трудно вывести строку подключения
по нажатию кнопки, вместо того, чтобы отсылать ее?
14 фев 17, 13:04    [20210477]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
o-o
разве так трудно вывести строку подключения
по нажатию кнопки, вместо того, чтобы отсылать ее?


откуда,из приложения?
я же не влезу внутрь .ехе
Если бы оно не подключалось ни на первом нажатии, ни на втором, было бы проще...

Сделал так на том же клиенте:

http://www.gotknowhow.com/articles/test-a-database-connection-string-using-notepad

Нифига, пишет,
connection failed because of an error in initializing provider
SQL Server does not exist or access denied.

В качестве имени даю имя хоста, где установлен сервер.
14 фев 17, 13:18    [20210533]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
Ролг Хупин
откуда,из приложения?
я же не влезу внутрь .ехе

ну, откуда ж мне это знать.
кто тестирует свое приложение, может и залезть
14 фев 17, 13:27    [20210571]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
похоже, что файрволл.
Но сбивало и сбивает с толку то, что при повторном нажатии - подключение срабатывало
14 фев 17, 13:31    [20210590]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
Ролг Хупин
В качестве имени даю имя хоста, где установлен сервер.

а экземпляр-то дефолтный ли?
14 фев 17, 13:32    [20210597]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Massa52
Member

Откуда:
Сообщений: 380
Ролг Хупин,

У меня такая картина наблюдается в MS Access 2003 - когда он ломится в SQL по ODBC.
Вдруг(внезапно) mde база начинает отрабатывать запрос к SQL со второго пинка(должен выдавать репорт ночью по рассписанию - но отваливается по таймауту - приходится утром руками нажимать на баттон формирования отчета).
Лечится заменой mde на эталонный(специально держим в архиве копию).
16 фев 17, 02:09    [20216106]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3757
o-o
Ролг Хупин
В качестве имени даю имя хоста, где установлен сервер.

а экземпляр-то дефолтный ли?


да, руками на клиенте никто не конфигурировал протоколы.

Я всё бы понял, если бы из-за файрволла подключение вообще не проходило, но оно при повторном нажатии срабатывает - почему?
16 фев 17, 10:49    [20216800]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Ролг Хупин,

лучше один раз сниффером посмотреть, чем гадать. Например, Wireshark.
Попробуйте IP в подключении указать, может это проблемы с DNS.
16 фев 17, 11:27    [20216955]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
ggdh
Guest
Может попытки подключения 1 (неуспех) и 2 (успех) производятся по разным протоколам ?
Лучше в connection string явно его указать.
16 фев 17, 18:56    [20219061]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
ggdh
Guest
Например, в SSMS для Server Name можно указать: tcp:server\instance,port
16 фев 17, 20:32    [20219302]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
ggdh
Может попытки подключения 1 (неуспех) и 2 (успех) производятся по разным протоколам ?
Лучше в connection string явно его указать.

Типа один раз программа насильно дописывает один протокол, а второй раз другой?
Ибо если не дописывает, производится попытка подключиться по всем протоколам, в порядке, указанном в CM.
---
Давно уже пора вывести эту строку оба раза, а не гадать
16 фев 17, 20:34    [20219311]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
o-o
Guest
Ролг Хупин

строка подключения формируется в прилагалище из параметров, сохраненных в реестре:

имя сервера
базы
имя юзера и пароль вводятся рукой

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

Перетащил приложение на машину, где установлен сервер, там все ок, работает.

Т. Е. Когда машина клиентская, то и реестр тоже не серверный? И с чего там вдруг прописаны сервера?
Вот поди и причина: в первый раз считывается мусор, второй раз уже из другого места считывается что-то внятное.
Хотя еще раз, ну с чего на клиентской машине вдруг пропишутся сервера? Это ж надо самому куда-то их вписать. Возможно, вписано 2 раза, первый раз с ошибкой
16 фев 17, 20:47    [20219347]     Ответить | Цитировать Сообщить модератору
 Re: Приложение(OLEDB)->Сервер: Login Timeout  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Ролг Хупин
Я всё бы понял, если бы из-за файрволла подключение вообще не проходило, но оно при повторном нажатии срабатывает - почему?
Очевидно, что инстансы, файрволлы, сети, сервер тут ни при чём.

Приложение первый раз коннектится неправильно, второй раз правильно.

Неправильно может быть что угодно-используемая библиотека, имя, инстанс и т п. Навернуть разработчики могли что угодно.
16 фев 17, 20:58    [20219375]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить