[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.792
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    302
    Zitat Zitat von Fuerchau Beitrag anzeigen
    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.

    Danke...aber der SQL-Befehl ist fix und fertig, ich arbeite an dieser Stelle nicht mit "using"...

Similar Threads

  1. JVAGATE und SQLRPG auf lokale DB2 for i
    By Peet in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-06-19, 11:59
  2. jvagate Bander tool Verbindung -> Oracle Hilfee
    By labm in forum NEWSboard Programmierung
    Antworten: 20
    Letzter Beitrag: 05-06-18, 09:09
  3. Problem mit JVAGATE von D.Bender
    By svit in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 18-09-14, 12:14
  4. SQLRPGLE Infos zu verwendeten Feldern auslesen
    By Peet in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-03-14, 14:41
  5. %char ??
    By Gimli in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 04-03-03, 16:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •