Verbindung zur inaktiven Datenbank verloren

Verbindung zur inaktiven Datenbank verloren

Ich kann eine Verbindung zum Datenbankserver (Firebird) herstellen, Abfragen ausführen und all diese lustigen Dinge tun, aber nach einer unbestimmten Zeit der Inaktivität erzeugt der nächste Abfrageversuch den folgenden Fehler

Unable to complete network request to host "XX.XX.XX.XX".
Error writing data to the connection.
An existing connection was forcibly closed by the remote host. .

SQL Error (code = -902):
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.

Wenn ich interaktiv mit Firebird Maestro arbeite (Relevanz unbekannt), weise ich Maestro an, die Verbindung zu trennen, nachdem dieser Fehler aufgetreten ist. Dann kann ich eine Abfrage ausführen.

Ich weiß nicht, ob das Timeout von Firebird oder dem Linux-Server oder woanders in unserem Netzwerk herrührt, und ich weiß nicht genug über Linux oder AWS oder unser Netzwerk, um zu wissen, wo ich nach Möglichkeiten suchen soll. (die Freuden, Programmierer in einem sehr kleinen Unternehmen zu sein)

Antwort1

Unabhängig davon, woher das Timeout kommt, sollten Sie darauf vorbereitet sein. Es ist möglich, dass sogar mehrere Timeouts vorhanden sind und Ihre Verbindung nach einer Zeit der Inaktivität ohnehin abgebrochen würde.

Am besten verwenden Sie eine Verbindungspooling-Bibliothek und geben ein kürzeres Timeout an als das, das Sie derzeit beobachten (es sei denn, es ist unannehmbar niedrig).

Es könnte hilfreich sein, wenn Sie Ihre Bereitstellung detailliert beschreiben würden, aber ich denke, dass Sie letztendlich die Clientseite reparieren müssen.

verwandte Informationen