|
|
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
Добрых суток, Есть БД на FB 2.5 Клиент написано на IB. Как обработать исключения когда пропадает связь с БД . Или как отловить момент когда подключение пропадает, чтобы попытаться восстановить его снова ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2020, 22:06 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
FIL23как отловить момент когда подключение пропадает Никак, обломись, технически невозможно. О разрыве можно узнать только по ошибке при попытке послать запрос. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2020, 22:18 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
Прикольно , прикольно. На сколько тогда корректно будет делать предварительный "мини" запрос, для проверки соединения с БД? Ну типа выполняем Select на одну строку, и если возникло исключение . то выполняем какие ни будь действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2020, 22:26 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
Если компоненты доступа к БД позволяют пинговать сервер, то можно делать пинг по таймеру и/или пинговать сервер перед запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2020, 23:00 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
FIL23На сколько тогда корректно Совершенно бессмысленно и бесполезно. Как раз в твоём стиле. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2020, 00:29 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
FIL23, DS уже сказал что обрыв отловить технически невозможно, я лишь добавлю, что в клиент-сервере контекст соединения существует только пока само соединение существует, это не stateless web. Если соединение между клиентом и сервером оборвалось, то сервер уничтожает весь контекст соединения (раз его уже нет), и "восстанавливать" тут совсем нечего. Приложение в таком случае должно заново стартовать транзакции, открыть запросы и т.д. (если там не briefcase, конечно). Так что, в приложении при обрыве соединения надо опять всё стартовать как будто приложение только запустилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2020, 01:56 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
FIL23 Как обработать исключения когда пропадает связь с БД . Покажи диалог с предложением перезапустить приложение и сообщить админу - пусть связь налаживает. Или сразу пиши предложение, ориентированное на короткие сеансы связи с сервером: коннект - работа с данным (загрузка/выгрузка) - дисконнект. Глюки в каждом таком сеансе обрабатывай удобным с твоей т.зр. образом: показывать часы с кнопкой отмены, предлагать повторить операцию, отменить сохранение или игнорировать "плохие" результаты операции сохранения, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2020, 06:02 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
FIL23, авторПрикольно , прикольно. добро пожаловать в мир TCP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2020, 08:55 |
|
||
|
FB2.5 IB / как восстановить подключение к БД
|
|||
|---|---|---|---|
|
#18+
ъъъъъпредложение, ориентированное на короткие сеансы связи с сервером Это и есть модель briefcase, но подавляющее большинство дельфинов его не осилят. И уж точно не топикстартер. PS: Даже в ней не обязательно закрывать соединение после каждой операции, ибо потеря времени. Но реконнект делается простым перевызовом слоя доступа к БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2020, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=43&tid=2038261]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 300ms |

| 0 / 0 |
