I don't think this sent correctly the first time, so I'm resending it...apologies if you get two copies...


Hello,

I am using just the SteadyDB module from DBUtils to provide fault-tolerant connections to an Oracle database using cx_Oracle as the dbapi2 module. If a client loses its network connection (network cable unplugged, out of range of the wireless network, etc.), and then re-establishes the connection, all Oracle connections and cursors that were open become invalid. Trying to execute a statement with one of those cursors returns an ORA-03114 NOT CONNECTED TO ORACLE error, which causes cx_Oracle to raise an exception of class DatabaseError. However, SteadyDB only tries to recover from OperationlError and InternalError exceptions(SteadyDB.py, lines 238 and 338). Any chance that SteadyDB could be changed in future versions to also recover from DatabaseErrors? Or perhaps there could be a mechanism for advanced users to set what exception types SteadyDB tries to recover from? Should I submit this as a bug?

Thanks,

Matthew Harriger
Software Developer
University of Nebraska Medical Center
Phone: (402) 559-3584
Email: mharriger@unmc.edu