PDA

View Full Version : SQL Substring (Fehler 42703)



olbe
28-12-06, 13:26
Hallo,

nachfolgend ein kurzer Auszug aus einem ILE-RPG Programm:

C EVAL MySQL02 = 'SELECT ' +
C 'SUBSTR(texdes, 1, 9) ' +
C 'FROM c82f.tex ' +
C 'WHERE chmand=? '
*
* Prepare fuer SQL-Skript
C/EXEC SQL
C+ PREPARE Stmt2 from :MySQL02
C/END-EXEC
*
* Cursor fuer SQL-Skript deklarieren
C/EXEC SQL
C+ DECLARE sql_s02 CURSOR FOR Stmt2
C/END-EXEC
*
* Cursor/SQL-Skript ausführen
* (inklusive übergebener Variablen)
C/EXEC SQL
C+ OPEN sql_s02 USING :rd_mand
C/END-EXEC



Lasse ich das übersetzte Programm im Debugger laufen, erhält der SQLSTATE bereits nach der PREPARE-Anweisung den Fehlercode 42703 (An undefined column or parameter name was detected).

Was muss ich wo noch definieren?

Danke.

BenderD
28-12-06, 13:42
Hallo,

zumindest muss in dem String MYSQL02 was legales drinstehen...

mfg

Dieter Bender


Hallo,

nachfolgend ein kurzer Auszug aus einem ILE-RPG Programm:

C EVAL MySQL02 = 'SELECT ' +
C 'SUBSTR(texdes, 1, 9) ' +
C 'FROM c82f.tex ' +
C 'WHERE chmand=? '
*
* Prepare fuer SQL-Skript
C/EXEC SQL
C+ PREPARE Stmt2 from :MySQL02
C/END-EXEC
*
* Cursor fuer SQL-Skript deklarieren
C/EXEC SQL
C+ DECLARE sql_s02 CURSOR FOR Stmt2
C/END-EXEC
*
* Cursor/SQL-Skript ausführen
* (inklusive übergebener Variablen)
C/EXEC SQL
C+ OPEN sql_s02 USING :rd_mand
C/END-EXEC



Lasse ich das übersetzte Programm im Debugger laufen, erhält der SQLSTATE bereits nach der PREPARE-Anweisung den Fehlercode 42703 (An undefined column or parameter name was detected).

Was muss ich wo noch definieren?

Danke.

olbe
28-12-06, 13:53
Hi,

Danke für die Antwort.

Ich hatte das Problem gerade gefunden. Das in der WHERE-Klausel angegebene Feld CHMAND heisst in dieser Datei leider anders!

Manchmal sitzt das Problem eben doch vor dem PC:o

Trotzdem noch einmal Danke.