Как правильно организовать переподключение?
Posted: Thu 05 Jul 2012 11:37
Как правильно организовать переподключение сессии при ошибке "ORA-03113 Принят сигнал конца файла по коммуникационному каналу" и тому подобных когда происходит разрыв связи.
Нужно чтобы при возникновении этой ошибке программа без закрытия датасетов в фоновом режиме попробовала сама восстановить соединение (если не восстановить сессию, то запустить новую), если не получится то только тогда уже выдать ошибку.
находил на форуме следующий фрагмент кода:
Но переподключение почему-то не происходит, сразу вываливается ошибка.
Нужно чтобы при возникновении этой ошибке программа без закрытия датасетов в фоновом режиме попробовала сама восстановить соединение (если не восстановить сессию, то запустить новую), если не получится то только тогда уже выдать ошибку.
находил на форуме следующий фрагмент кода:
Code: Select all
procedure TDM.OraSession1ConnectionLost(Sender: TObject; Component: TComponent;
ConnLostCause: TConnLostCause; var RetryMode: TRetryMode);
begin
case ConnLostCause of
clExecute,
clOpen,
clRefresh,
clApply,
clServiceQuery,
clTransStart,
clConnectionApply: RetryMode := rmReconnectExecute;
clConnect, clUnknown: RetryMode := rmReconnect;
end;
end;