Entwickler-Ecke

Datenbanken - Zeos + Firebird: Anwendung "hängt" manchmal


jjturbo - Mi 06.11.13 10:56
Titel: Zeos + Firebird: Anwendung "hängt" manchmal
Moin Forum,

ich habe das Problem, dass meine Anwendung manchmal einfriert.
Es handelt sich hier um eine Lagerverwaltung, den ganzen Tag werden einzelne Platten oder aber auch Plattenstapel hin und her gefahren, Platten in eine Säge gelegt, Ettiketten erzeugt, Rückmeldungen an die Datenbank des Kunden(MSSQL) geschrieben usw..

In meiner Anwendung arbeite ich mit den Zeos 6.6.6 Komponenten, Server ist ein Firebird 2.1. Der Firebirdserver läuft gemeinsam mit meiner Hauptanwendung auf einem PC, drei weitere Clients, die irgendwo in Gegend verteilt sind greifen ebenfalls auf diese DB zu. In der Hauptanwendung läuft neben dem Mainthread ein weiterer Thread, der aber komplette eigene Zeos Kompos benutzt, völlig losgelöst vom Mainthread also.
Ich verwende nur TZConnection und TZQuery.

Und jetzt das Blöde: Irgendwann im Zeitraum von Feierabend bis zum nächsten Morgen, wenn die Produktion wieder anlaufen soll friert das Programm ein. In diesem Zeitraum passiert eigentlich nichts an der Anlage, es kommen in dieser Zeit keine neuen Aufträge vom Kunden runtergeschickt, Plattenbewegungen finden nicht statt, es wird also nichts von einem Platz zu einem anderen Platz gebucht. Es laufen in beiden Threads ein paar zyklische SQL Abfragen, die laufen aber auch den ganzen Tag über.
Hat jemand ein Idee wie ich diesen Fehler einkreisen kann?

Ich bin für jede Hilfe dankbar.

Gruß Oliver


baumina - Mi 06.11.13 11:23

Evtl. verlierst du die Connection zum DB-Server durch irgendwelche Timeouts. Abhilfe wäre da z.B. eine regelmäßige Abfrage laufen lassen.


jasocul - Mi 06.11.13 11:53

Ich nehme an, dass der DB-Server nachts gesichert wird.
Wird eventuell die DB dafür runtergefahren oder die Verbindung zu den Clients unterbrochen?


jjturbo - Mi 06.11.13 13:43

So, habe mal eben auf die harte Tour was ausprobiert: Ich habe die Netzwerkzuleitung vom Kunden zu unserem PC rausgezogen... irgendwann bekomme ich eine vernünftige Fehlermeldung die besagt dass der entsprechende SQL-Server(DB vom Kunden) nicht mehr verfügbar ist.
Das ist also nicht das Problem.


Blup - Do 07.11.13 18:43

Was sagt den das Log des Firebird-Servers, irgendwelche Aufälligkeiten?