Hallo Leute,
ich hoffe hier kann mir jemand helfen, denn ich bin schon am Verzweifeln. Wir haben eine C/S-Anwendung mit Delphi 6 und Firebird 1.52 entwickelt. Bei 9 von 10 Kunden läuft alles problemlos :-), aber bei einigen taucht folgendes Problem auf.
Die Anwender arbeiten vorwiegend mit einer Tabelle auf dem Server. Wenn mehrere zugleich mit der erwähnten Tabelle arbeiten passiert es, das bei Anwender 2 das Programm stehen bleibt, während Anwender 1 ganz normal weiter arbeiten kann.
Der Code sieht folgendermaßen aus.
SQL.Text := 'INSERT INTO Journal VALUES(Gen_ID
(Journal_Gen, 1),' + #39 + 'NOW' + #39
+ ', :aktion, :mnummer, :resultat, :mzf, :betrag, :user)';
ExecSQL;
Für mich sieht das so aus, als ob das Programm nach ExecSQL auf eine Rückmeldung vom Server wartet und keine bekommt. Ich bekomme auch keinerlei Fehlermeldungen welche ich für eine Auswertung heranziehen kann. Wie gesagt können alle anderen User ganz normal weiterarbeiten. Das wartende Programm wird über den Taskmanager beendet und der Eintrag in der Tabelle fehlt natürlich.
Hat jemand eine Idee, wie ich zumindest eine brauchbare Fehlermeldung bekomme? Debuggen fällt aus, da wie gesagt dieses Phänomen bei einem Kunden auftritt und ich das Problem aus der Ferne lösen muss. Ich muss noch sagen, dass sich alle Clients als sysdba am Server anmelden. Die Userverwaltung findet in der Anwendung statt.
Viele Grüße
Norman
ich hoffe hier kann mir jemand helfen, denn ich bin schon am Verzweifeln. Wir haben eine C/S-Anwendung mit Delphi 6 und Firebird 1.52 entwickelt. Bei 9 von 10 Kunden läuft alles problemlos :-), aber bei einigen taucht folgendes Problem auf.
Die Anwender arbeiten vorwiegend mit einer Tabelle auf dem Server. Wenn mehrere zugleich mit der erwähnten Tabelle arbeiten passiert es, das bei Anwender 2 das Programm stehen bleibt, während Anwender 1 ganz normal weiter arbeiten kann.
Der Code sieht folgendermaßen aus.
SQL.Text := 'INSERT INTO Journal VALUES(Gen_ID
(Journal_Gen, 1),' + #39 + 'NOW' + #39
+ ', :aktion, :mnummer, :resultat, :mzf, :betrag, :user)';
ExecSQL;
Für mich sieht das so aus, als ob das Programm nach ExecSQL auf eine Rückmeldung vom Server wartet und keine bekommt. Ich bekomme auch keinerlei Fehlermeldungen welche ich für eine Auswertung heranziehen kann. Wie gesagt können alle anderen User ganz normal weiterarbeiten. Das wartende Programm wird über den Taskmanager beendet und der Eintrag in der Tabelle fehlt natürlich.
Hat jemand eine Idee, wie ich zumindest eine brauchbare Fehlermeldung bekomme? Debuggen fällt aus, da wie gesagt dieses Phänomen bei einem Kunden auftritt und ich das Problem aus der Ferne lösen muss. Ich muss noch sagen, dass sich alle Clients als sysdba am Server anmelden. Die Userverwaltung findet in der Anwendung statt.
Viele Grüße
Norman
Comment