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

start [/forum/topic.php?fid=58&msg=32131853&tid=2118711]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 359ms |

| 0 / 0 |
