[ERLEDIGT]FB2.5 + ZEOS, Db-Server auf Netzwerk, wie reconn.?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

[ERLEDIGT]FB2.5 + ZEOS, Db-Server auf Netzwerk, wie reconn.?

Beitragvon Soner » 13. Jun 2017, 18:12 [ERLEDIGT]FB2.5 + ZEOS, Db-Server auf Netzwerk, wie reconn.?

Hallo,
da hier sehr viele ZEOS-Experten gibt, habe ich mir gedact, ich frage mal hier.
Vorweg:
Zeos 7.2.1-rc, Lazarus 1.6.4 Svn 54278, Fpc 3.0.2, Firebird 2.5, Windows 7/xp alles 32Bit.

Der DB-Server liegt auf einem anderen Computer. Während Programm in Wartezustand läuft, eine TDBGrid zeigt eine Liste, trenne ich Netzwerkverbindung.
Zeos bekommt davon nichts, TZConnection.OnDisconnected wird nicht aufgerufen und das scheint normal zu sein.
TZConnection.Connected liefert true, obwohl noch keine Netzwerkverbindung vorhanden ist und das scheint auch normal zu sein.
Bei Aufruf von TZConnection.PingServer stürzt das Programm.
Ich denke die Funktion TZConnection.Ping ist dafür gemacht und das liefert auch richtigerweise false.
Als Lösung dafür versuche ich über Except-Behandlung zu verbinden :
Code: Alles auswählen
 
 ShowMessage('NIcht verbunden'); //Während das zeigt stelle ich wieder Netzwerkverbindung
 if not ZConnection1.Ping then  ZConnection1.Connect; //wird nicht verbunden
//alternativ, eine wird ausgeführt/auskommentiert
 if not ZConnection1.Ping then  ZConnection1.Reconnect; //programm stürzt ab
 


Wie macht ihr das? Wenn eine Verbindung abbricht, wie stellt ihr es wieder her?

EDIT:
Wenn ich mir recht überlege ist es TZConnection.PingServer. Er setzt auch Connected auf false und ruft auch AfterDisconnect auf.
Aber TZConnection.PingServer läßt das ganze Programm abstürzen.

EDIT2:
ZConnection1.Connected auf false setzen erzeugt Fehler.(Der Gedanke ist erst false dann true setzen).

EDIT3:
Falls jemand sich nach Jahren hier verirrt, ich habe die Lösung nach lange Internetrecherche gefunden und die Lösung ist sehr delphi- und pascaltypisch:
Code: Alles auswählen
 
ShowMessage('Datenbankverbindung abgebrochen, starten Sie Ihr Programm neu.');
Halt;
 
Soner
 
Beiträge: 411
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried