On Fri, 17 Apr 2015, Чернов Дмитрий wrote:

Hello.
 
Recently I've used FPC with SQLdb that is included in latest Lazarus. And after 
some usage I've determined one inconvience: if connection to database server of 
instance of
TSQLConnection (or it's descendant) will be interrupred, instance will fall 
into a coma. This happens because of some reasons:
1) there is no way to determine whether connection is broken
2) no exceptions are thrown on connection interrupt
3) none of disconnection events are called on interruption
3) if you'll try to shutdown interrupted connection by setting Connected 
property of TSQLConnection to False, you will get exception about interrupted 
connection and after that...
property value will not be changed. so, you can't reconnect.

So, due to this reasons, currently there is only single way to raise the 
connection - manually re-create TSQLConnection component instance in run-time, 
what awful.
 
It seems that my english is entirely terrible, so excuse me in advance.

We are aware of this problem, and we are working on a solution to be able to 
reconnect (so, point 4 in your list (actually, the second 3) :))

See for example: http://bugs.freepascal.org/view.php?id=26505

There is a beginning of a patch in TCustomConnection
  procedure Close(ForceClose: Boolean=False);
if you set Force to True then the connection will be closed and errors will be 
ignored.

Michael.
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to