![]() |
Datenbank: Interbase • Version: 7.1 • Zugriff über: IBX
Datenbankverbindung verloren
Hallo an alle Interbase und IBX-Spezialisten,
wie merke ich das meine Datenbankverbindung verloren gegangen ist? Gibt es dazu Ereignisbehandlungsroutinen oder sonstige Mechanismen? Exception-Handling geht auch, aber die Datenbankverbindung kann ja aus verschiedenen Gründen nicht mehr existieren. z.B. IBServer ist inaktiv, Datenbankserver ist ausgeschaltet, etc. Danke für Tipps... |
Re: Datenbankverbindung verloren
Normalerweise bist du ja irgendwo in deinem Programm während die DB-Verbindung gekappt wird.
Die nächste Abfrage wird dann 1.) einige Sekunden dein Programm stillegen und 2.) dann eine Exception erzeugen. Die Chancen sind gering, dass sich dein Programm davon noch erholen kann. Du müsstest die Connection wieder öffnen und auch alle Queries, die vorher offen waren. |
Re: Datenbankverbindung verloren
Zitat:
Ernsthaft: Wenn die Verbindung zur DB weg ist, müsstest Du eigentlich das Programm neu starten oder zumindest in einen definierten Zustand zurückfahren. Woher soll die Software zu einem undefinierten Zeitpunkt wissen - welche Querys, Cursors, usw. gerade offen waren - auf welchem Datensatz diese gerade gestanden haben - wie der Status der Transaktionen war. Normalerweise geht der Programmierer davon aus, dass eine DB immer verfügbar ist und baut keine Sicherheitsmassnahmen ein. Erst wenn es knallt, dann wird sich darum gekümmert. |
Re: Datenbankverbindung verloren
Also mit TIBDatabase.TestConnected kann man die tatsächliche Verbindung zur DB prüfen (Im Gegensatz zu .Connected).
Ich benutze Interbase und Firebird. Leider verhalten sich die Funktionen bei den beiden DBs unterschiedlich. Wenn ich Events an der DB registiert habe (TIBEvent) und den Firebird-Server ausschalte und dann TestConnected aufrufe, bekomme ich ziemlich böse Zugriffsverletzungen in der gds32.dll. Hat jemand shcon Erfahrungen mit der Methode .TestConnected? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz