Zitat Zitat von Fuerchau Beitrag anzeigen
Ergänzende Frage:
Da das System ja wohl mit CCSID 500 (westeuropa International) eingestellt ist, nimmt SQL eben an, dass die Daten nicht 870 sind sondern 500.
Korrekt wäre es gewesen, auch das System in 870 aufzusetzen und alle Datenbankdateien in 870 zu erstellen.
Jetzt habt ihr den Salat.

Aber es könnte eine Lösung geben, ich weiß nur nicht, ob V5R3 bereits die CCSID 13488 (UCS2) untersützt und alle benötigten PTF's dafür installiert sind.
Dann kannst du auf dem V5R3 Views erstellen, die die Daten dann korrekt umcasten:

select cast( cast( cast(Name as char(nn) ccsid 65535) as char(nn) ccsid 870) as graphic(nn) ccsid 13488)
from myfile

Wie schon oft beschrieben. Ein Cast von/nach 65535 ist binär und setzt keine Zeichen um.
Somit setzt der rote Cast die 500er-Daten in binär um.
Anschließend setzt der blaue cast in 870 um. In diesen beiden Fällen erfolgt jedoch keine Codewandlung.
Erst der türkise Cast erfordert eine Umsetzung in UCS2 => Unicode.
Diese View kann man dann in Excel direkt per ODBC importieren, denn Excel kann Unicode.
nn = die benötogte Feldlänge.


Hallo,
das ist doch mal ein cooles Ding :-)

Vielleicht geht ja auch nvarchar
gruß an alle