[Qt-interest] QtSql connection timeout error
Mikhail Veygman
mveygman at gmail.com
Fri Sep 18 00:26:41 CEST 2009
Not having QT code or documentation makes this a little harder but ...
When mysql server drops a connection from the client the client does
not detect this until the connection is used again. Which is precisely
the reason that you are getting an error. However mysql C API provides
a mysql_ping function which if the connection is dropped by the server
it will reestablish the connection to the server without having to
recreate the mysql connection handle. So 2 things you can check:
1. Check if QMySQL driver calls this function prior to sending a query
2. If there is a DB ping method that can be called to achieve the same
result
Regards,
Mikhail Veygman
Sep 17, 2009, в 3:00 PM, Thomas Fjellstrom <tfjellstrom at shaw.ca>
написал(а):
> On Thu September 17 2009, Stephen Jackson wrote:
>> On Thu, Sep 17, 2009 at 7:30 PM, Thomas Fjellstrom wrote:
>>> I've created a little long running process (a server), which
>>> connects to
>>> MySQL through the QtSql api, but occasionally the mysql connection
>>> times
>>> out due to inactivity (i assume). I've tried checking
>>> connection.isOpen(),
>>> connection.isValid(), and the connection.lastError(), but none of
>>> them
>>> seem to hint that there's even been a problem. isOpen returns true,
>>> isValid returns true, and lastError().code() is QSqlError::NoError
>>> but
>>> every single query.exec() fails.
>>>
>>> I'm stumped. How can I reliably detect when the connection drops
>>> like
>>> this?
>>
>> Perhaps these two recent threads might be relevant to this problem.
>>
>> http://lists.trolltech.com/pipermail/qt-interest/2009-August/011477.html
>>
>> http://lists.trolltech.com/pipermail/qt-interest/2009-September/012347.html
>>
>
> Partially valid. But lastError() should actually say there's an
> error if
> exec() fails, no?
>
> --
> Thomas Fjellstrom
> tfjellstrom at shaw.ca
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list