Rückmeldungen und Warnungen des Datenbanksystems erfolgen über die globale Struktur sqlca (SQL Communication Area). Sie wird automatisch vom Precompiler in jedes MaxDB-Anwendungsprogramm eingebunden. In den Strukturkomponenten hinterlegt die Datenbank zur Laufzeit des Anwendungsprogramms Informationen über die Ausführung der jeweils letzten eingebetteten SQL-Anweisung, die zum Beispiel Auskunft über aufgetretene Fehler geben.
Fragen Sie die Strukturkomponente sqlcode nach jeder SQL-Anweisung ab.
Die Komponenten der sqlca haben folgende Bedeutung:
sqlcaid |
char [8] enthält die Zeichenkette „sqlca“ und dient dem Benutzer beim Auswerten eines Speicherauszugs zum Auffinden der sqlca |
sqlcabc |
integer (4 Byte) gibt die Länge der sqlca in Bytes an |
sqlcode |
integer (4 Byte) enthält den Meldungscode der Rück- oder Fehlermeldung des Datenbanksystems sqlcode = 0 zeigt die erfolgreiche Ausführung einer Anweisung an. sqlcode > 0 zeigt Probleme an, die im Programm behandelt werden sollten. sqlcode < 0 zeigt Fehler an, die zu einem Programmabbruch führen sollten. Eine Beschreibung aller Meldungen finden Sie in der Dokumentation Meldungen. |
sqlerrml |
integer (2 Byte) gibt die aktuelle Länge von sqlerrmc an |
sqlerrmc |
char [70] enthält eine Erläuterung zur Rück- oder Fehlermeldung, wenn sqlcode ≠ 0 |
sqlerrd |
Array von sechs 4-Byte integer-Zahlen sqlerrd
[2] gibt an, wie viele Tabellenzeilen durch die
SQL-Anweisung bearbeitet wurden. Der Wert -1 bedeutet, dass die Anzahl der bearbeiteten Zeilen unbekannt
ist. sqlerrd [5] gibt die Laufzeit der Anweisung im Datenbankkern in Sekunden an. sqlerrd [6] gibt die Position in der SQL-Anweisung an, an der ein Syntax-Fehler gefunden wurde. Bei Array-Anweisungen ist der Wert undefiniert. War die SQL-Anweisung fehlerfrei, ist sqlerrd [6] = 0. |
sqlwarn0 |
char [1] sqlwarn0 = W gibt an, dass die SQL-Anweisung mindestens eine der Warnungen sqlwarn1..sqlwarnc erzeugt hat. Wenn keine Warnung existiert, enthält sqlwarn0 ein Leerzeichen. |
sqlwarn1..sqlwarnc |
|
sqlresn |
char [18] enthält nach dem Aufruf einer SELECT-Anweisung den Namen der Ergebnistabelle Nach allen anderen Aufrufen enthält sqlresn ein Leerzeichen. |
sqldatetime |
integer (2 Byte) gibt an, welches Datums- und Zeitformat die Datentypen DATE, TIME und TIMESTAMP haben. 1 INTERNAL |
Alle anderen Komponenten der sqlca dienen internen Zwecken.