[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.752
    Nun ja, im Prinzip hast du die Lösung ja gefunden.
    Die CCSID's sind leider nicht kompatibel.
    Du musst also
    a) die Tabelle auf UCS2 ändern
    b) im SQL auf UCS2 casten

    zu b)

    cast(feld as vargraphic(nnn) ccsid 13488)

    Bedenke aber, dass beim Umwandeln in deine Programmvariable, sollte diese nicht mit "C" definiert sein, Umwandlungsverluste (z.B. Umlaute o.ä.) auftreten.

    Auch das Schreiben in die DB mit inkompatiblen CCSID's geh nur über UCS2, ohne Verluste auch nur, wenn die Tabelle UCS2 hat.

    Das Casten auf Key-Felder zwingt SQL dann auch immer zu einem Table-Scan !!!
    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
    Aug 2001
    Beiträge
    2.934
    Hast Du versucht auf die Tabelle eine View zu legen, in der die alphanumerischen Felder in Unicode konvertiert werden und anschließend diese View zu verwenden?

    Birgitta
    Birgitta Hauser

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

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.423
    Mal so versuchen:

    PHP-Code:
    SELECT FROM Datei WHERE HEX(Feld) = HEX(SPACE(LENGTH(Feld))) 

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.752
    Zitat Zitat von Pikachu Beitrag anzeigen
    Mal so versuchen:

    PHP-Code:
    SELECT FROM Datei WHERE HEX(Feld) = HEX(SPACE(LENGTH(Feld))) 
    Die Where-Abfrage ist nicht das eigentlich Problem sondern der anschließende Fetch der Daten.
    Beim Lesen der Daten wird eine Umwandlung zwischen den CCSID's abgelehnt.

    Wenn der SQL mit Hostvariablen ausgeführt wird, muss der Inhalt von der Job-CCSID in die DB-CCSID gewandelt werden.
    Auch dies scheitert aus den selben Gründen.
    Es funktioniert nur mit UCS2, wenn die Hostvariablen dann auch UCS2 (Typ C) sind.
    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

  5. #5
    Registriert seit
    Jun 2006
    Beiträge
    356
    Nach den Antworten schließe ich, dass eine Umstellung der Felder auf UCS-2 die sauberste Möglichkeit für dieses Problem ist (gerade wegen der Performance).

    Danke für eure Hilfe!

    Gruß
    Matthias

Similar Threads

  1. Konvertierung nach Graphic --> CCSID Problem
    By codierknecht in forum NEWSboard SAP
    Antworten: 32
    Letzter Beitrag: 09-02-18, 14:00
  2. Keine Zeichenumsetzung zu CCSID 13488
    By ah1960 in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 30-06-08, 16:03
  3. CCSID ändern
    By schaaf in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-05-06, 12:18
  4. CPYTOIMPF und CCSID
    By Muchi in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 21-04-06, 14:54
  5. CCSID eines Files
    By Binford in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-03-06, 09:58

Berechtigungen

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