[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    98
    ich richtig, habe ich nicht gesehen sorry:


    > Select Ordinal_Position as RowKey, cast(Element as varchar(2000) ccsid 1208) from Table(SysTools.Split (Cast(Get_clob_From_File('/chguser/xxx/upload/idn_tek2.csv'), x'0D25') as CLOB(2M) CCSID 1208) ) a Where Trim(Element) > ''

    SQL State: 42601
    Vendor Code: -104
    Message: [SQL0104] Token , ungültig. Gültige Token: AS. Ursache . . . . : Bei Token , wurde ein Syntaxfehler entdeckt. Token , ist kein gültiges Token. AS ist eine Teilliste gültiger Token. Diese Liste geht davon aus, dass die Anweisung bis zu diesem Token korrekt ist. Es kann eine frühere Stelle in der Anweisung fehlerhaft sein, aber bis zu dieser Stelle scheint die Syntax gültig zu sein. Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die Anforderung wiederholen: - SQL-Anweisung im Bereich des Token , überprüfen. Anweisung korrigieren. Der Fehler kann ein fehlendes Komma oder Anführungszeichen sein, er kann in einem falsch geschriebenen Wort oder in der Anordnung der Klauseln begründet sein. - Ist das fehlerhafte Token , die Anweisung korrigieren, da sie mit einer ungültigen Klausel endet.

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.931
    Die Syntax ist immer noch nicht korrekt.
    Die richtige Syntax müsste so aussehen:

    Code:
    Select Ordinal_Position As Rowkey,
           Cast(Trim(Element) As Varchar(2000) Ccsid 1208)
       From Table (
             Systools.Split(
                Cast(Get_Clob_From_File('/chguser/xxx/upload/idn_tek2.csv') As Clob(2M) CCSID 1208),
                 x'0D25'
             )
          ) A
    Where Trim(Element) ...
    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
    Mar 2006
    Beiträge
    98
    nach dem ich dem job auf Translate ccsid 65535 geändert habe hat es funktioniert.

    Aber die umlaute sind immer noch nicht da.

    Click image for larger version. 

Name:	clob.JPG 
Views:	15 
Size:	95,6 KB 
ID:	615

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.703
    Natürlich sind die Umlaute da. Sie sind nur in UTF8 kodiert und so dann nicht zu sehen.
    Das sind die komischen Sonderzeichen die da im Text zu sehen sind.
    Wenn du die Daten nun im Programm verarbeiten willst, musst du 1208 in 1200 casten und im ILERPG das Feld vom Typ "C" definieren (UCS2).

    Warum machst du das (nochmal) so kompliziert?
    Laut deinen Daten handelt es sich um eine CSV-Datei.
    D.h., du erstellst eine PF (SQL oder DDS) in passender Definition (Zeichen, Zahlen, Datum) und importierst dann einfach per CPYFRMIMPF.
    Dann hast du die Daten fertig für die Verarbeitung.
    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
    Mar 2006
    Beiträge
    98
    Hallo,

    vielen Dank.
    Ich habe noch nicht probiert.

    Warum so komliziert... Ich würde mal gerne CSV Datei direkt lesen ohne irgendwlscher Dateien wo man die Daten vorher reinkopieren muss.
    Lesen
    Verarbeiten
    Fertig..

  6. #6
    Registriert seit
    Mar 2006
    Beiträge
    98
    Click image for larger version. 

Name:	clob.JPG 
Views:	12 
Size:	347,7 KB 
ID:	616
    Es wird bei SQL trotz dem immer noch falsch umgesetzt. Siehe Bild.
    Ich glaube, ich mache es per CPYFRMSTMF ich denke das es zuverässiger ist.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.703
    Wenn ich das Bild ansehe, so wird da ein UTF8-Code für ein Umlaut ausgegeben.
    Ggf. wird bei der SQL-Anzeige nicht von UTF8 in eine lesbare Anzeige umgewandelt.

    Außerdem habe ich oben schon mal geschrieben, dass der CPYFRMIMPF das generell besser kann:
    Korrekte Typwandlung in
    - Dezimal mit/ohne Vorzeichen und korrekten Nachkomma
    - Datum ISO/EUR...
    - NULL's
    - Trim Blanks Anfang/Ende
    - Entfernen Kopfzeile
    - Korrekte Behandlung Stringdelimiter, z.B. "Äpfel;Birnen" fürt bei deinem SQL zu Fehlern.

    Bevor ich mir da selber die Finger breche nehme ich gleich den CPYFRMIMPF, zumal der auch noch eine Fehlerprotokoll-Datei kann.
    Mit deinem Problem wäre ich in 10 Minuten fertig;-).
    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

Similar Threads

  1. Mit dem Bagger durch die Eifel oder wie debugge ich eine SQL Prozedur
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 04-11-19, 07:59
  2. mehrere Spoolfiles in eine Datei
    By programmer400 in forum NEWSboard Drucker
    Antworten: 7
    Letzter Beitrag: 26-07-17, 10:58
  3. Antworten: 10
    Letzter Beitrag: 14-12-16, 15:45
  4. verschiedene Jobs gleiche Datei, schreib / lese konflikt?
    By dibe in forum NEWSboard Programmierung
    Antworten: 20
    Letzter Beitrag: 25-02-16, 15:33
  5. Antworten: 3
    Letzter Beitrag: 20-12-13, 09:27

Berechtigungen

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