cammil cammil - 2 months ago 55
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?


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