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.