Hallo Forum,
ich nutze Firebird SQL auf mehreren identischen Steuerungen und logge
unter anderem Fehlerzustände in einer Tabelle.
Die Abfragen erfolgen durch
1 | SELECT
|
2 | m.CURRTIME,
|
3 | p.varname,
|
4 | m.FVAL,
|
5 | m.ICODE
|
6 | FROM MESSAGES m
|
7 | join PARAM p
|
8 | on p.ID=((m.ICODE-20000)/100)
|
9 | order by p.ID desc NULLS FIRST;
|
wobei Fehler in der MESSAGES-Tabelle durch Werte über 20000
gekennzeichnet werden.
Nun zu meinem Problem:
Auf einer Steuerung bricht diese Abfrage mit angehängter Fehlermeldung
ab.
Hierbei konnte ich feststellen, dass die Zeile mit der Berechnung
verantwortlich ist.
1 | on p.ID=((m.ICODE-20000)/100)
|
Ist der Divisor kleiner 10 (anstatt der 100) wird die SELECT-Anweisung
ausgeführt, ab einem Wert von 10 nicht mehr.
Woran kann dies liegen? Wieso nur bei dieser einen Steuerung?
Ein Umstand, der dazu geführt haben könnte war:
Durch eine wachsende Text-Datei war die Speicherkarte einmal randvoll.
Der Prozess wurde angehalten und die Mega-Textdatei gelöscht.
Danke für eure Hilfe
Name