Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Verbindungsverlust zur Datenbank

  Alt 26. Apr 2008, 08:06
Ich verwende zwar kein Zeos, aber prinzipiell mache ich es so, das ich vor jeder Datenbankaktion eine Verbindungsprüfung einbaue, also so etwa:
Delphi-Quellcode:
...
  CheckConnection;
  MyDBCommand.Execute;
...
Und die Methode 'CheckConnection' schickt ein 'select 1' zum Server. Wenn das knallt und die Exception mir sagt, das die Verbindung unterbrochen wurde (und nur dann!), baue ich sie wieder auf (1 Versuch). Wenn das nicht klappt, ist eh Hopfen und Malz verloren und ich melde eine Exception, das die DB nicht erreichbar ist.

SQL-Code:
Procedure TMyDataModule.CheckConnection;
  Procedure _TryConnection;
  Begin
    MyConnection.Connected := True;
    MyConnection.executeI('select 1');
  End;

Begin
  Try
    _TryConnection;
  Except
    On E:EConnectionLostConnection Do
      _TryConnection;
    On E:Exception Do Raise E;
  End
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat