Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.04.2003, 14:23
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
Программа периодически запускает хранимую процедуру на MSSQL 2000. Но если перезапустить sql сервер, или просто убить процесс, коннект с сервером теряется и вызов ХП через TADOStoredProc выдает ошибку. Я сначала в программе прописываю ConnectionString, а затем просто выполняю ExecProc. Что мне нужно сделать, чтоб автоматически востанавливать коннект с sql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 14:36
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
Известная проблемма. Если ты используешь TADOStoredProc со строкой подключения, то для тебя все равно создается TADOConnection, который и висит открытым, не зная о том, что связь оборвана. Решить проблему можно только при явном использовании TADOConnection. И в случаи потери коннекта делать явно Close/Open. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 14:36
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
А ты коннекться прямо перед выполнением процедуры, а если коннекта нет эксепшин или подожди по таймеру и снова коннекться. Может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 15:18
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
А что это за штатный режим "перезапуск sql-сервера"? В этом случае править надо в консерватории. MSSQL должен работать без всяких перезапусков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 15:41
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
2Dankov >А что это за штатный режим "перезапуск sql-сервера"? А никто и не говорил, что это штатный режим. Просто когда когда его всеж по какой-либо причине перегрузят, сервис, пишущий в него информацию, перестает его видеть. Если забыть перезапустить этот сервис, некоторое время не будет поступать информация, а это очень плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 16:46
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
2pkarklin >Решить проблему можно только при явном использовании TADOConnection. И в случаи потери коннекта делать явно Close/Open. Можно чуть более подробно, в какой момент мне надо делать Open, а в какие Close? А то у меня это все работает в виде сервиса, что осложняет поиск ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 17:05
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
Можно чуть более подробно, в какой момент мне надо делать Open, а в какие Close? А то у меня это все работает в виде сервиса, что осложняет поиск ошибки. В клиентской проге я сделал пункт меню, восстановить подключение. Хотя это можно было и автоматизировать. Можно было написать функцию, типа CheckConnection, где послать через TADOConnection.Execute что-нить на сервер тип SELECT 1, и если возникла ошибка сделать Close/Open. Но только перед тем, как делать Close, надо пробежаться по всем открытым датасетам, запомнить ссылки на них в списке, установить Connection в nil. Сделать Close/Open и снова пробежаться, устоновив Connection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 20:04
|
|||
|---|---|---|---|
|
|||
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
А можно еще проще. Взять компонент TIdTCPClient. Сделать IdTCPClient.Connect к SQL серверу (порт надеюсь все знают =)). И ждать события OnDisconnect. Как только событие сработало, значит пора переподключать ADOConnection, т.е. делать ему Close - Open. Надеюсь я понятно выразился. Если нет, могу дать листинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2003, 20:26
|
|||
|---|---|---|---|
TADOStoredProc проблема после потери коннекта с базой |
|||
|
#18+
Вообщем все решилось росто. Постоянного коннекта собственно и не надо, постоянное приконнекчивание не напряжно, поэтому поставил у TADOConnection свойство KeepConnection=False, чем проблема и разрешилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2118711]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 503ms |

| 0 / 0 |
