Hi,
I have two server applications running 24/7 with Firebird database and 38 tables.
For posting data in tables I use something like :
with DM.IPStatusQ do
begin
Insert;
FieldByName('THREAD').Value := _thread;
FieldByName('IP').Value := _ip;
FieldByName('CONNECTED').Value := now;
Post;
ApplyUpdates;
DM.SQLTransaction.CommitRetaining;
end;
It is working with no problem, but when I have to maintain database and to do sweep it runs for hours on 200MB database (too long - it is more efficient to make backup and restore).
As I read on Firebird forums, FAQ and help, this problem is present because I use CommitRetaining.
It is not recommended to use CommitRetaining - the right way is to use Commit, but when I use it, all open tables become closed and I have to open them again.
Is there an easier way to keep tables open after using Commit (beaside using CommitRetaining)?
Thx