PDA

View Full Version : SQL0237



tinewww
25-10-05, 06:24
Hallo.

Habe gerade die Jobs auf meiner i5 (V5R3M0) kontrolliert. Dabei sind mir diverse Jobs mit Namen QSQSRVR aufgefallen. Im Joblog eines dieser Jobs fand ich dann folgende Informationsmeldung:

SQL0237 Im SQLDA wurden nicht genügend SQLVAR-Einträge angegeben

Was soll diese Meldung bedeuten? Sollte ich da irgendwo eingreifen? Wenn ja, was muß ich tun?

Ich wäre sehr dankbar für entsprechende Informationen!

tinewww

Fuerchau
25-10-05, 08:32
Die QSQ-Jobs sind Serverjobs der DB/400.
Die Meldung bedeutet nichts besonderes, ausser dem Hinweis, dass für dynamische SQL's die Anzahl der Parameter nicht korrekt übergeben wurde.
Dies ist nun mal sehr häufig der Fall, da eine Methode zum Feststellen der benötigten Anzahl erst die Übergabe einer falschen Anzahl durchgeführt wird.
Die SQLDA ist die Steuerstruktur für SQL-Befehle mit Variablen.

Beispiel:
Im dynamischen Select werden diverse Felder ausgewählt. Um nun festzustellen, wie groß meine SQLDA werden muss, verwende ich für den Describe-Befehl eine SQLDA mit genau 1 Feld. Nach dem Describe wird mir in der SQLDA gemeldet, wieviele Elemente ich tatsächlich benötige, die ich dann per ALLOC im Speicher anlege um anschließend den korrekten Describe durchzuführen.
Der 1. Describe führt zum Fehler SQL0237.