[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Was passiert denn wenn Du 'CCSIDTST' explizit auf die erwartete CCSID oder auf eine CCSID 13488 oder CCSID 1200 castest?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #14
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... ich tippe mal eher auf eine fehlende *TBL zur Umsetzung.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @Dieter
    Im SQL sind die TBL-Objekte nicht mehr relevant. Dies wird komplett im System geregelt.
    Wie soll denn die AS/400 aus den chinesischen Zeichen (28709) ggf. Latin-2 Zeichen (1153) extrahieren, vor allem, wenn sie im chinesisch nicht vorkommen?
    Zum Zeitpunkt des Vergleiches der CCSID's kann das System nicht entscheiden, dass man nur auf invariante Zeichen selektiert.
    Immerhin wird durch den Optimizer automatisch für Konstanten eine interne Hostvariable generiert.
    Gerade für SQL gilt das selbe wie für native (naive) Zugriffe per RLA:
    Die Job-CCSID muss zur Systemumgebung passen!

    Beim embedded SQL habe ich das Problem nicht, so lange der Zugriff auf die QSYS2-Tabellen nicht erforderlich ist. Allerdings wird der eingebettete SQL ja ggf. wieder gegen die Tabelle-Definitionen geprüft (Feldvorhanden, Zugriffspfade für Indexoptimierungen usw.). Wie soll SQL dann die Namen ermitteln?
    Spätestens aber bei der Verwendung von Prozeduren/Funktionen werden diese in den SQL-Tabellen gesucht. Bei falscher CCSID des Jobs gibts entweder obige Fehlermeldung oder die Namen werden nicht gefunden. Beides führt aber leider zu negativen SQL-Codes.

    Bei Remote-SQL (also QZDASOINIT, CLI) greift der ODBC-Treiber grundsätzlich auf die Systemtabellen zu und gerade dann muss die CCSID passen.
    Deshalb halte ich das Funktionieren unter TL16306 eher für einen Bug als ein Feature!
    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

  4. #16
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... was gegen Deine Annahme spricht ist, dass sich 273 nach 1025 casten lässt und 1141 nicht!
    Wie immer der cast bewerkstelligt werden mag, es spricht sehr viel dafür, dass er über externalisierte "Tabellen" geht - ob das nunt *TBL ist, weiß ich nicht (und interessiert mich eigentlich wenig), es spricht aber einiges dafür.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wir wissen ja beide, dass IBM da oft "vergesslich" ist.
    Ich habe nun nicht so viel Möglichkeiten. Wer weiß denn genau, wie sich da IBM verhält.
    Auf einem V6R1-System mit deutscher Sprache habe ich ebenso keine Probleme beliebige CCSID's per CHGJOB oder SQL-CAST zu verwenden (kein Wunder dass alle Probleme haben, wenn es keine Fehlermeldung mehr gibt).
    Aber anscheinend verhält sich das System anders, wenn die Primärsprache eine DBCS-CCSID hat.
    Dieses konnte ich noch nie testen.

    In einem meiner älteren Posts (ich weiß nicht mehr wo) hatte ich auch festgestellt, dass das System im Zweifel intern über Unicode geht. D.H. CCSID1 => UCS2 => CCSID2. Dies geht halt immer.
    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

  6. #18
    Registriert seit
    Jun 2006
    Beiträge
    348
    Mein ursprüngliches Problem bezog sich ja auf Job-CCSID 1025 und Feld-CCSID 1141.
    Das Problem hat ja erstmal nichts mit der Primärsprache des Betriebssystems zu tun, da es ja auch auf einem anderen System mit Primärsprache 2929 nachstellbar ist.

  7. #19
    Registriert seit
    Jun 2006
    Beiträge
    348
    Als Workaround zur Codepage 1025 empfiehlt die IBM die Nutzung der Codepage 1154 (Cyrillic Multilingual with euro). Damit ist mein Problem gelöst.

    Vielen Dank an alle.

Similar Threads

  1. Probleme im IFS
    By Der Gute in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 09-04-02, 15:36
  2. DirectFax / ********* Probleme
    By Günter Majewski in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-02-02, 17:03
  3. Probleme mit "RUNRMTCMD"
    By HELROHA in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 29-01-02, 14:58
  4. Probleme mit AFP
    By Flappes in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-08-01, 16:54
  5. PTF-Probleme
    By Winni in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 30-03-01, 07:29

Tags for this Thread

Berechtigungen

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