Hi, <DISCLAIMER> I'm using DBI 1.32 - which I realise is an old version, but it is the one that (I believe) ships with RHEL3 and we have a policy of using supplied rpm's wherever possible. </DISCLAIMER>
I'm trying to implement a mechanism where a DBI program can detect its DB (Oracle in this case) session going away and attempts to recover from it. Basically I have set up a custom error handler that checks for certain Oracle errors (e.g. 3113, 3114, 28, 1012, ...) and if it finds one it reconnects to the DB and re-initialises itself. This all works fine the first time. The error handler does its thing and the program continues with hardly a glitch. If however the error occurs a second time, the custom error handler doesn't kick in. I have made sure the error handler is re-established during the re-initialisation. In fact the setting of the error handler is part of the DB connect logic, so it gets executed both when the program starts, and when the custom error handler detects the session needs to be re-established. Can anyone tell me if this is a bug with the old version of DBI we are using, or is still a bug, or it definitely works and must be something I'm doing wrong. Thanks, Steve
