View Full Version : Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
Schau dir die Definition der SQLDA und SQLVAR in der QSYSINC (oder im Handbuch) mal an.
Irgendwo fehlen noch Reserve-Definitionen.
Das Problem:
Pointer müssen an einer 16-Byte-Grenze ausgerichtet sein!
...das macht der Compiler, falls man ihn nicht dran hindert und die Pointer in DS definiert. Im letzteren Fall heisßt das Zauberwort align
D*B
Bei Overlay kann er kein Align machen, das Overlay-Feld muss dann Align haben.
Trotzdem sollte die Definition passen da bei Align der übersprungene Speicher keine Initialisierung aufweist und SQL dann ggf. zur Laufzeit wieder meckert.
Die SQLDA und SQLVAR sollten lückenlos definiert sein.
Außerdem würde ich hier mit Qualiefied arbeiten und
D SQL_VAR LIKEDS(SQLVAR) DIM(SQL_NUM)
verwenden.
... die SQLDA und die SQLVARs sind so definiert, dass die Pointer aligned sind, wenn die SQLDA aligned ist, wenn man das natürlich falsch abpinselt, dann passt das nicht - und wenn das bei dem Pointer aufschlägt, ist das noch ein Glücksfall, weil das OS dann merkt, dass was faul ist, bevor da Murks zurückgeliefert wird.
D*B