Sometimes our application works from remote place via VPN over wireless 
Internet connection. Often connections brakes and we have active DB connections 
in MON$ATTACHMENTS for a long time and their TA's blocks further work. Is this 
same case as in your reply?
At least we receive an errors in 'unique' indexes - we use artificial counters 
in special table to generate sequential document numbers for each employee. So, 
when employee reconnect to continue his work - he can't create new document: 
TA, who was increase this counter, was broken and was not committed, so new 
document watch an old counter, and gets an already used next counter value. But 
previous document in broken TA, that uses his next counter value, was inserted 
in respective table and his number is already in unique index (but invisible 
for new TA's).
This belongs not only for counters. E.g., we create a customer with unique 
short name, and when we reconnect after connection lose - we can't re-create 
customer with this short name, until broken connection will closed.
Firebird version: 2.5.8.


For such extremal cases your application can present for SYSDBA special window 
that shows table with data from MON$ATTACHMENTS (login, connection's start 
date, client IP, app name).
Deleting record from MON$ATTACHMENTS will close connection, so you can continue.

Again, only necessary in the case where the connection remains active while the 
transaction is stalled.
_._,___

Reply via email to