Also "%" ist noch kein Sonderzeichen sondern bewegt sich noch im ASCII-Bereich.
Oracle speichert i.d.R. in UTF8, also Unicode.
Wenn deine Hostvariablen vom Typ "C" sind (UCS2), hast du mit Oracle keine Probleme.
Willst du die Daten im RPGLE konvertieren benötigt dein Job zur Laufzeit eine gültige CCSID!
*HEX (65535) geht da nicht mehr!!!
Dann konvertiert die Zuweisung (eval) automatisch zwischen UCS2 und deinem SBCS-Feld.
Aber Achtung: UCS => SBCS führt bei nicht konvertierbaren Zeichen zu "?".
Wichtig bei der ganzen Sache ist noch, dass du auf jeden Fall mit Parametermarkern arbeitest.
Also:
MySQL = 'Select a, b, c from OracleTab where K1=?';
execute SQL prepare Statement ….
execute SQL open MyCursor using : HostK1;
Ähnliches musst du dann auch mit Insert/Update/Delete machen, der Fetch benötigt das ja sowieso schon.
Parametermarker vereinfachen das Handing i.Ü. und beschleunigen erheblich, da nicht ständig prepared werden muss.
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks