Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 23. Dez 2015, 09:26
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Moin...

Ich hätte da gern mal ein Problem...

Ich beziehe mich mal nur auf IBDAC. Das ganze kann mit anderen Komponenten sich ganz anders verhalten.

IST:
* DB Connection im Mainthread
Wenn während einer bestehenden Connection die Verbindung abbricht (Putze über Netzwerkkabel gestolpert) bekommt die Anwendung das, in der Regel, nicht mit. Beim nächten Zugriff auf die DB hängt mir immer die Anwendung und schmeißt noch nicht mal eine Exception. Dann würde nämlich ein MessageDialog aufgehen und die Anwendung, nach OK, sicherheitshalber beendet. Oder der Mainthread hängt schon vorher fest...

SOLL:
Auswertung des Verbindungsabbruches und Neuconnection.

Wie händelt ihr so etwas?
In einer anderen Anwendung habe ich die DB Verbindungen in Threads. Dort beende ich, im Fehlerfalle, den jeweiligen Thread von außen und starte ihn nach einer Zeit X neu. Damit wird die DB Verbindung "abgewürgt" und neu aufgebaut. Das funktioniert gut. Wie aber wenn es im Mainthread abläuft?

PS:
IBDAC hat eine Property (LocalFailOver in Verbindung mit OnConnectionLost.) die bei Verbindungsabbrüchen das entsprechend händeln soll. Ich habe es nicht stabil hinbekommen.
Die Tipps wie hier z.B. http://www.delphipraxis.net/163086-f...abbrueche.html erwähnt habe ich auch durch.


Danke für Info´s.

Geändert von haentschman (23. Dez 2015 um 15:55 Uhr)
  Mit Zitat antworten Zitat