Hallo,
Es ist zwar etwas pauschal, aber das Schliessen der Verbindung ist eigentlich immer eine gute Idee. Unseres Erachtens müsste ein "extravagantes" Szenario gegeben sein, um anders zu planen.
Sicherlich, aber der Zeitpunkt sollte mit Bedacht gewählt sein. Es gibt durchaus Datenbanken, bei denen der Verbindungsaufbau viel 'kostet', also relativ lange dauert. Hier nach dem Schema 'Verbindung öffnen, Abfrage/Modifikation durchführen, Verbindung schliessen' vorzugehen, ist meines Erachtens nach nicht zielführend.
(Es gibt bspw. nichts schlimmeres als DBAnwendungen, die bspw. etliche Verbindungen aufmachen, dann noch abstürzen und Verbindungen aufechterhalten, da bestimmte Prozesse noch laufen.)
1.) Vernünftige Datenbanken erkennnen (vielleicht auch erst nach einer bestimmten Zeitspanne) nicht existente Verbidnungen und schliessen diese.
2.) Halbewegs venünftig programmierte Anwendungen beinhalten auch ein Absturzszenario, bei dem zumindest alle geöffneten Resourcen (also auch Datenbankverbindungen) geschlossen bzw. freigegeben werden. Das ist imho eine Grundanforderung an jede Anwendung. Vielleicht, aber auch nur vielleicht, kann man schnelle Hacks oder Minimal-Prototypen davon ausnehmen, aber diesen Anwendungen ist ja naturgemäß eine kurze Lebensdauer beschert bzw., quasi als Ausgleich, sowieso etwas mehr Freiheit gewährt.
Das von Dir angesprochene Verhalten ist ein Bug, nichts weiter und deshalb auch kein Grund für eine (in meinen Augen) schlechte Designentscheidung.
Grüße
Klaus