TOracleQueue no longer works after "reconnection"

ldsandon

Member³
I'm implementing some code to make my services to be able to "stand" a database connection failure without crashing, and to poll until the database is available again.
I am having some problems with TOracleQueues, which have no Open/Active property. It looks after a session is reconnected, some internal structure has gone and they can't start working again properly.
After TOracleSession.CheckConnection(True) returns ccReconnected, a call to TOracleQueue.Dequeue returns "OCI-21710: argument is expecting a valid memory address of an object". After a reconnection, I can reopen datasets and reexecut queries, but how can I reinitialize a TOracleQueue? Only destroying and recreating it?
DOA 4.0.5, Delphi 7.
 
This does indeed not seem right. When the session is disconnected the payload object instance should be freed. We'll fix this, but at the moment you must explicitly free and recreate the queue.
 
Back
Top