unidac 断线重连
因为物理网络断连或数据库超时踢掉连接等原因,Tuniconnection建立的连接可能会断掉。
在默认状态下,程序会抛出异常框,并罢工。
其实Tuniconnection是可以做到“断线重连”的。
1) uses MemData
2) UniConnection1.Options.LocalFailover := False;
3)
procedure TForm1.UniConnection1ConnectionLost(Sender: TObject; Component: TComponent; ConnLostCause: TConnLostCause; var RetryMode: TRetryMode);
begin
//TRetryMode:rmRaise 引发异常 rmReconnect 重新连接,然后引发异常 rmReconnectExecute 执行重新连接并重新执行中止的操作。不引发异常
RetryMode := rmReconnectExecute; //执行重新连接并重新执行中止的操作。不引发异常
end;
没错,就这么简单。