... DRDA Protokollfehler deutet auf einen Bug im ArdGate.
- hast Du die neueste Version?
- probier mal einen cast nach nchar oder char (cast (name as char(xxx)), wobei Oracle da genug Länge braucht - gegebenen Falls noch substring vor dem cast.
Mit dem einfachen Cast ohne CCSID funktioniert schon -> select CAST(name as nCHAR(512)) from... Mit dieser lösung werde ich wahrscheinlich keine kyrillicher Sprache bekommen...(dafür UCS2 Felder..)
Mit Null-Anzeiger habe ich hier noch kein Problem, da ich nur 1 Feld und 1 Satz ausgewählt habe und dieser war kein NULL.
Wie ich hier mit NULL-Anzeiger umgehen muss, ist mir klar...
Ich habe die Version --> ArdGate Version: 2016-09-01
Sollte ich es Updaten ??
Danke auch für den Beispiel, hier gibt es aber keine Umsetztung auf UCS2...
Ein Cast von NVARCHAR auf NCHAR ändert den Typ doch nur von Varying auf Fixed und füllt sogar mit Leerzeichen auf. Dass das ohne CCSID klappt ist doch logisch, da Oracle keine CCSID kennt.
Daher verstehe ich das Problem mit NVARCHAR bei dir überhaupt nicht.
Noch mal die Frage:
Wie ist der SQLCODE nach dem Fetch und was besagt das Joblog.
... um das nochmal zu präzisieren:
- zwischen 2016-09-01 und dem aktuellen Release wurde der varchar/vargraphic Bug bereinigt.
- aktuelles Release ist aus Supportgründen zu empfehlen.
- auf die Umsetzung der Daten im DB2 hat ArdGate keinen Einfluss.
- Job CCSID wird berücksichtigt
Und die JOB-CCSID ist häufig ein Problem da diese gerne auf *HEX steht.
Für SQL wird daher auch besser die Default-CCSID verwendet, die nie *HEX ist sondern aus der Sprachumgebung kommt.
Ggf. solltest du dies darauf mal prüfen und erweitern: Falls Job-CCSID = 65535, dann Default-CCSID.
Bookmarks