Нужно чтобы при возникновении этой ошибке программа без закрытия датасетов в фоновом режиме попробовала сама восстановить соединение (если не восстановить сессию, то запустить новую), если не получится то только тогда уже выдать ошибку.
находил на форуме следующий фрагмент кода:
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;