Das Problem ist nicht zwingend ein Programmfehler im eigenen Quelltext.
Bei mir z.B. bleibt ein Modem einfach stehen und meldet sich nicht mehr (gesteuert über Fremden Quelltext auf den ich keinen einfluss habe).
In diesem Beispiel tritt der "Fehler" ja beim Verbinden einer Datenbank auf.Ich stell mal die Theorie auf, das der Vorgang des Datenbankverbindens nicht von dir Programmiert wurde sondern das es über eine fertige Komponente läuft.(Korregier mich bitte wenn ich hier falsch liege).
PS: kennst du zufällig den Befehl für "Stecker auswerfen - Stecker wieder einstecken"