![]() |
![]() |
enum 20.04.2004 - 14:51 |
Я имею ввиду случай когда сетевое соединение на время рвется, и надо сделать так чтобы программа не сразу вылетала, а ждала пока соединение восстановится, то есть использовала все приимущества протокола tcp |
FWP 1 - 20.04.2004 - 15:52 | М.б. ConnectionTimeout = ххх в файле конфигурации? Кстати, какой IB? |
enum 2 - 20.04.2004 - 16:26 |
Этот параметр дает другой эффект, он разрешает серверу гасить оборванные сессии, и по умолчанию эта фича равна 180 секунд -- если бы прога на клиенте ждала такой промежуток времени перед обрывом связи с базой, у меня бы вопрос этот и не зародился бы. IB 6.0 |
enum 3 - 20.04.2004 - 16:36 |
Поясню подробнее, на клиентской машине открывается запрос SELECT * FROM ... транзакция сопоставленная этому запросу не имеет парамета nowait то есть ждет, IdleTimer у этой транзакции = 2147483647 то есть больше некуда, Connection_Timeout в файле конфигурации = 9999, и при всем при этом при обрыве связи клиента с сервером на клиенте возникает исключение с текстом: "Unable to comlit network request Удаленный хост принудительно разорвал соединение" Если конечно при этом программу не трогать -- не обновлять запрос, то прога ждет довольно долго несмотря на отсутствие связи, а вот если начать обновлять запрос, то соединение с базой теряется. так вот как сделать так чтобы несмотря на действия пользователя программа ждала бы пока не восстановится соединение по крайней мере секунд 30 |
NTFS 4 - 20.04.2004 - 23:55 |
Какая библиотека используется для доступа к IB? Если FIBPlus, то все ок. Там есть возможность корректно обработать разрыв. |
enum 5 - 21.04.2004 - 05:00 | да нет , стандартные компоненты делфи для IB. TIBTable, TIBQuery и т д. |