View Full Version : Eurozeichen per SQL
Das Kopieren hat jetzt funktioniert.
Die Job-CCSID ist eh auf 1141, allerdings war die zu kopierende Datei auf 273. Nach Umstellung auf 1141 hat dann das CPYF die Eurozeichen mitkonvertiert.
Damit geht alles - VIELEN DANK !!
Allerdings bedingt dies, dass man solche Felder, wo Eurozeichen vorkommen können, auf Graphikfelder umstellen muss. Noch dazu muss ich testen, wie die bestehenden laufenden RPG-Programme mit dem neuen Dateifeld zurechtkommen.
Wie meinst du das mit dem Cast?
Ginge dies auch mit normalen 1141-Feldern oder bleibt mir eine Umstellung auf Graphikfelder mit 13488 nicht erspart ?
... keineswegs, 1141 auf Feldebene, ohne jede weitere Maßnahme geht ebenfalls!!!
Den Unterschied etc. kannst du testen mit:
CREATE TABLE TESTEURO2(F273 char(5 ) ccsid 273
NOT NULL WITH DEFAULT, F1141
char (5 ) ccsid 1141 not null with default)
mit cast meine ich:
select cast( cast (f273 as char(5) CCSID 65535)
as char(5) ccsid 1141)
bzw.:
select cast(cast( cast (f273 as char(5) CCSID 65535)
as char(5) ccsid 1141)
as graphic(10) ccsid 13488)
mit letzterem Verfahren (cast nach 65535 und anschließend in das, was man haben will). das man auch in eine View einbauen kann, geht ziemlich viel.
D*B
Allerdings bedingt dies, dass man solche Felder, wo Eurozeichen vorkommen können, auf Graphikfelder umstellen muss. Noch dazu muss ich testen, wie die bestehenden laufenden RPG-Programme mit dem neuen Dateifeld zurechtkommen.
Wie meinst du das mit dem Cast?
Ginge dies auch mit normalen 1141-Feldern oder bleibt mir eine Umstellung auf Graphikfelder mit 13488 nicht erspart ?
Genau das bekannte Problem, wenn unterschiedliche CCSID's im Spiel sind.
Wenn deine Datei mit €-Zeichen auf CCSID 1141 steht, kannst du diese auch per JDBC abfragen. Ein Umkopieren ist da nicht erforderlich (siehe Dieters Beispiel).
Die laufende Anwendung hat damit kein Problem, da ja 1141 zu 273 bis auf das €-Zeichen kompatibel ist.
Letztlich ist es (fast) egal welche CCSID die PF/TABLE hat, so lange man in sich konsistent ist.
Siehe hierzu auch meinen COMMON-Beitrag zum Thema CCSID.
Die Umstellung auf Grafik-Felder (UCS2) würde ich für die laufende Anwendung nicht durchführen, da dies nur auber von ILERPG und SQL unterstützt wird.
Spätestens bei DSPF/PRTF hört das nämlich per default auf, hier muss man massiv in die Anwendung eingreifen.
Mit der CCSID 1141 auf Datei/Job/5250/QCCSID-Ebene bist du aber konsistent bis hin zu ODBC/JDBC.