AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Abgebrochene ADOConnection wiederherstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Abgebrochene ADOConnection wiederherstellen

Offene Frage von "Iwo Asnet"
Ein Thema von Nico B. · begonnen am 4. Jul 2012 · letzter Beitrag vom 5. Jul 2012
 
Nico B.

Registriert seit: 16. Okt 2006
Ort: Riesa
67 Beiträge
 
Delphi XE7 Enterprise
 
#9

AW: Abgebrochene ADOConnection wiederherstellen

  Alt 5. Jul 2012, 07:40
Hallo Leute,

ich habe jetzt eine Lösung für mein Problem gefunden.
Leider weiß ich zwar nicht wie man in meinem Fall einen Verbindungsausfall richtig erkennt, aber das Problem habe ich ein wenig umgangen. Das "SELECT 1" oder auch eine etwas tiefergehende Abfrage (bspw. nach dem ersten oder letzten Element einer bestimmten Tabelle) wie es mir von Iwo Asnet vorgeschlagen wurde, hat leider nicht funktioniert.

Hier mein Lösungsweg:
1. Ich gehe davon aus, dass die Verbindung zu meiner Datenbank immer besteht.
2. Über eine AppException fange ich alle Fehler meines Programms ab.
3. Entsteht der Fehler bei einer Datenbankabfrage versuche ich automatisch die Verbindung neu aufzubauen. Dazu trenne ich die Verbindung und starte anschließend einen TTimer.
4. Bei jedem Start des Timerevents versuche ich nun die Verbindung wieder aufzubauen.

Hier ein Teil des Quellcodes:
Delphi-Quellcode:
//im AppException-Event des Programms...
ADOC_CNC.Connected:=false;
Timer1.Enabled:=true;

//nun das Timer-Event...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //Verbindung neu aufbauen
  try
    ADOC_CNC.Connected:=true;
    if ADOC_CNC.Connected
      then
        Timer1.Enabled:=false;
  except
    //Verbindungsaufbau gescheitert -> neuer Versuch im nächsten Event
  end;
end;
Damit ist zwar nicht alles geklärt, aber ich kann damit zumindest erst mal weiter.
Danke euch allen!
Nico Bäger
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz