|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
В службе отлавливаю экспешены, среди прочего получаю: [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение Хотелось бы универсально (для разных языков, версий виндовс и версий sql клиента) обработать эту ошибку. Ничего похожего на ErrorCode нету.У других ошибок коды есть, например [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53] Причем это на этой же машине, одни ошибки английские, другие - русские.У самого объекта Exception тоже ничего похожего нет. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 16:29 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
... |
|||
:
Изменено: 27.01.2024, 17:16 - s62
Нравится:
Не нравится:
|
|||
27.01.2024, 17:15 |
|
Как идентифицировать ошибку?
|
|
---|---|
#18+
s62 [игнорируется] АДО. Уже нашел на стэковерфлоу. https://stackoverflow.com/questions/1457032/retrieving-ado-errors-using-delphi ... |
|
:
|
|
27.01.2024, 17:19 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Щас вкорячу логирование всего этого, посмотрю, что дальше будет. Ошибка раз месяц вылезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 17:20 |
|
Как идентифицировать ошибку?
|
|
---|---|
#18+
Просто Трёп [игнорируется] А сама ошибка - это ошибка сокета с кодом 10054. Вот тут есть: https://learn.microsoft.com/ru-ru/windows/win32/winsock/windows-sockets-error-codes-2 ... |
|
:
|
|
27.01.2024, 17:21 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Интересно, как грамотней реализовать логику вот такого: Вот я в экспешене при попытке выполнения AODCommand отловил ошибку. Ошибка скорее всего лечится переподключением, но попытки повторного подключения тоже надо завернуть в try..except. Причем таких попыток желательно сделать пару-тройку раз с паузами, а потом уже окончательно закрываться. При этом желательно не потерять все параметры ADOCommand, которую таки хочется выполнить. При этом процедура записи на SQL сервер вызывается UDP сервером и насколько часто, никто не знает. Все выполняется в одном (главном) потоке. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 17:36 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Делать буфер для всего, что получает UDP сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 17:41 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Есть ли смысл лепить что-то многопоточное? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 17:46 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Делать буфер для всего, что получает UDP сервер? Т.е., например, как ты и написал, функция отправки возвращает булевский результат - при успешной отправке тру, неуспешной фолс. Причем неуспех ведь, наверное, теоретически говоря, может быть не только из-за разрыва соединения. При успешном выполнении процесс продолжается, при ошибке и если связи нет, то заданное кол-во раз пытается подключиться и отправить. Очередь можно сделать на каком-нибудь Дженерик-контейнере, например: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Generics.Collections.TQueue ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 17:48 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Есть ли смысл лепить что-то многопоточное? ... |
|||
:
Изменено: 27.01.2024, 18:01 - s62
Нравится:
Не нравится:
|
|||
27.01.2024, 17:52 |
|
Как идентифицировать ошибку?
|
|
---|---|
#18+
Кстати "везде" пишут, что при использовании ADO у каждого потока должно быть свое подключение/соединение (AdoConnection). ... |
|
:
|
|
27.01.2024, 17:55 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
пока отправляешь и пытаешься отключиться ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2024, 18:25 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] А сама ошибка - это ошибка сокета с кодом 10054. Вот тут есть: https://learn.microsoft.com/ru-ru/windows/win32/winsock/windows-sockets-error-codes-2 [2024-02-01 - 13:33:37] sql command execute failed
[2024-02-01 - 13:33:37] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-02-01 - 13:33:37] ----------------------------------------------------------------------------------
[2024-02-01 - 13:33:37] Error details:
[2024-02-01 - 13:33:37] Source:Microsoft OLE DB Provider for ODBC Drivers
[2024-02-01 - 13:33:37] Number:-2147467259
[2024-02-01 - 13:33:37] Description:[Microsoft][SQL Server Native Client 11.0]Communication link failure
[2024-02-01 - 13:33:37] SQLState:08S01
[2024-02-01 - 13:33:37] NateveError:10054 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 09:06 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] А сама ошибка - это ошибка сокета с кодом 10054. Вот тут есть: https://learn.microsoft.com/ru-ru/windows/win32/winsock/windows-sockets-error-codes-2 [2024-02-01 - 13:33:37] sql command execute failed
[2024-02-01 - 13:33:37] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-02-01 - 13:33:37] ----------------------------------------------------------------------------------
[2024-02-01 - 13:33:37] Error details:
[2024-02-01 - 13:33:37] Source:Microsoft OLE DB Provider for ODBC Drivers
[2024-02-01 - 13:33:37] Number:-2147467259
[2024-02-01 - 13:33:37] Description:[Microsoft][SQL Server Native Client 11.0]Communication link failure
[2024-02-01 - 13:33:37] SQLState:08S01
[2024-02-01 - 13:33:37] NateveError:10054 Опечатка в NateveError ... |
|||
:
Изменено: 02.02.2024, 10:24 - Неуловимый Джо
Нравится:
Не нравится:
|
|||
02.02.2024, 10:24 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Я ничем не помог, так хоть опечатку заметил :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 10:25 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Ага. Очепятался. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 10:47 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] Вопрос, почему принудительно разрывается соединение со стороны сервера. В пояснении к ошибке приводятся разные варианты.Там может быть, как я понимаю, от банальной перезагрузки компьютера до того, если не ошибаюсь, что SQL Server (в пояснении к ошибке сокета говорится о приложении на удаленном хосте, в данном случае - это как раз SQL Server) по каким-то причинам закрывает соединение с данным клиентом и другие варианты. [2024-01-15 - 13:10:27] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-01-17 - 18:38:56] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-02-01 - 13:33:37] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение Чаще, чем я думал. Предыдущие ошибки были на другую тему. Заметил, что постоянно открытая менеджмент студия, подключенная к этому серверу, тоже теряет коннект примерно в это время. Сервак не перегружается.... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 13:14 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Заметил, что постоянно открытая менеджмент студия, подключенная к этому серверу, тоже теряет коннект примерно в это время. Сервак не перегружается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 13:31 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Почему-то решил, что студия - на сервере. Если она удаленная, то конечно дело может быть и не в MS SQL сервере, а в чем-то другом, в чем-то связанном с сетевым подключением к нему. ... |
|||
:
Изменено: 02.02.2024, 13:41 - s62
Нравится:
Не нравится:
|
|||
02.02.2024, 13:41 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Не, не на сервере. Сеть тоже может быть виновата. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2024, 13:49 |
|
Как идентифицировать ошибку?
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] Вопрос, почему принудительно разрывается соединение со стороны сервера. В пояснении к ошибке приводятся разные варианты.Там может быть, как я понимаю, от банальной перезагрузки компьютера до того, если не ошибаюсь, что SQL Server (в пояснении к ошибке сокета говорится о приложении на удаленном хосте, в данном случае - это как раз SQL Server) по каким-то причинам закрывает соединение с данным клиентом и другие варианты. [2024-01-15 - 13:10:27] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-01-17 - 18:38:56] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение
[2024-02-01 - 13:33:37] [Microsoft][SQL Server Native Client 11.0]TCP Provider: Удаленный хост принудительно разорвал существующее подключение Чаще, чем я думал. Предыдущие ошибки были на другую тему. Заметил, что постоянно открытая менеджмент студия, подключенная к этому серверу, тоже теряет коннект примерно в это время. Сервак не перегружается.... |
|||
:
Изменено: 02.02.2024, 14:25 - Гарыныч
Нравится:
Не нравится:
|
|||
02.02.2024, 14:25 |
|
|
start [/forum/topic.php?fid=16&msg=711537&tid=16044]: |
0ms |
get settings: |
29ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
1802ms |
get tp. blocked users: |
3ms |
others: | 17ms |
total: | 1948ms |
0 / 0 |