Auch wenn es vielleicht nicht Dein primäres Problem ist: Die Art, wie Du den PK ermitteln lässt, ist in einer Mehrbenutzerumgebung wirklich völlig ungeeignet. Es sind unter allen Umständen Generatoren zu benutzen, da nur sie außerhalb einer Transaktion verwaltet werden. (Bitte nicht darüber diskutieren, sonder Helen Borries Firebird-Buch lesen.) Auch mit Generatoren kann man PK unter Berücksichtung von Nummernkreisen verwalten, damit Multipoint-Replikationen funktionieren. Ein alternativer Ansatz sind
GUID als PK, aber das führt jetzt wirklich am Thread-Thema vorbei.
Deine Schilderung der Probleme lässt mich mutmaßen, dass bei Deinen Clients schlicht die Verbindung zur
DB abbricht. Vielleicht stürzt sogar der
FB-Server ab und es merkt keiner, weil der Guardian gleich wieder startet. Das steht in den Server-Logs oder im Ereignisprotokoll (ich hoffe, Du fährtst nicht noch
Win9x/Me-Rechner). Oder es gibt ein Transaktions-Timeout und die
BDE versagt.
Was die
BDE anbelangt, so kann ich nur schwer helfen, denn ich setze sie nicht ein.
Weitere lustige Fehlerquellen sind unterschiedliche
FB-
DLL (gds32.dll) auf Client(s) und Server oder gemischte Connections (local,TCPIP). Letzteres führt auch gerne zu
DB-Defekten.
--
Andreas