PDA

View Full Version : String mit Returns in iSeries Datenfeld speichern



e_sichert
07-11-06, 13:52
Hallo Forum,

wir haben folgendes Problem.
Wir wollen einen langen String der Return Zeichen enthält per SQL in eine Tabelle der iSeries schreiben.

Das Feld in der Tabelle ist vom Typ A mit Parameter VARLEN.
Es funktioniert eigentlich außer dass die Return Zeichen in Leerzeichen umgewandelt werden.
Weiß jemand warum die Return Zeichen nicht richtig in die Tabelle geschrieben werden?


Vorab, vielen Dank für die Hilfe.

mfg.
E. Sichert

BenderD
07-11-06, 14:50
Hallo,

wenn man es verkehrt macht, dann geht es nicht.

mfg

Dieter Bender



Hallo Forum,

wir haben folgendes Problem.
Wir wollen einen langen String der Return Zeichen enthält per SQL in eine Tabelle der iSeries schreiben.

Das Feld in der Tabelle ist vom Typ A mit Parameter VARLEN.
Es funktioniert eigentlich außer dass die Return Zeichen in Leerzeichen umgewandelt werden.
Weiß jemand warum die Return Zeichen nicht richtig in die Tabelle geschrieben werden?


Vorab, vielen Dank für die Hilfe.

mfg.
E. Sichert

Fuerchau
07-11-06, 14:52
Mit direktem SQL

Insert into myfile (Field) values(' ')

klappt das auch nicht, da CR/LF eliminiert bzw. eben durch Leerzeichen ersetzt werden. Du musst Hostvariablen bzw. Parametermarker verwenden.

BenderD
07-11-06, 15:00
Hallo,

das ist dann eine der falschen Möglichkeiten
insert into deiFile (Field) values(x'0D25') schreibt zum Beispiel ein Carriage Return und ein Linefeed in das Feld...

mfg

Dieter Bender


Mit direktem SQL

Insert into myfile (Field) values(' ')

klappt das auch nicht, da CR/LF eliminiert bzw. eben durch Leerzeichen ersetzt werden. Du musst Hostvariablen bzw. Parametermarker verwenden.

Fuerchau
07-11-06, 15:25
Was meinst du als falsch ?

Um dein Beispiel zu gergänzen müsste man sogar:

values('Text1' concat x'0d25' concat 'Teil2' ...)

kodieren. Aber wer macht das schon. Besser ist eine Hostvariable (ach ja sagte ich bereits).