cammil cammil - 1 year ago 304
MySQL Question

Check if pyodbc connection is open or closed

I often get this error:

ProgrammingError: The cursor's connection has been closed.

Is there a way to check whether the connection I am using has been closed before I attempt to execute a query?

I'm thinking of writing a wrapper to execute queries. First it would check whether the connection is closed, if it is, it would reconnect. Is this an advisable way of doing this?

Answer Source

The wrapper is a good idea but I don't know any API to reliably check whether the connection is closed or not.

So the solution would be something along these lines:

for retry in range(3):
        ... execute query ...
        return # Stop on success
    except e:
        if is_connection_broken_error(e):

raise # throw if the retry fails too often
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download