[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Feb 2002
    Beiträge
    61
    Müsste nicht auch funktionieren, wenn man die CCSID des SQL-Serverjobs auf 1141 stellt ?
    Weiß wer, wie der SQL-Serverjob auf der iSeries heisst, bzw. wie man den im WRKACTJOB findet ?


    Zitat Zitat von Fuerchau Beitrag anzeigen
    Datenbank-CCSID ist da leider nicht ausreichend sondern die JOB-CCSID des SQL-Server-Jobs, und die stammt aus QCCSID, da leider eine JOBD keinen CCSID-Wert kennt !

    Zur Erklärung:

    Der SQL-String wird in der CCSID des Serverjobs verarbeitet, die Daten extrahiert, als JOB-CCSID-konform interpretiert und anschließend in die DB-CCSID umgewandelt.
    Arbeitet nun das System mit QCCSID=65535 kann man sich nun ausdenken, was passiert.

    Notfalls kann man sich auch damit behelfen, dass der gesamte SQL als UNICODE übertragen wird (ODBC-Konfiguration).
    Das habe ich allerdings noch nicht ausprobiert.

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von beegee Beitrag anzeigen
    Müsste nicht auch funktionieren, wenn man die CCSID des SQL-Serverjobs auf 1141 stellt ?
    Weiß wer, wie der SQL-Serverjob auf der iSeries heisst, bzw. wie man den im WRKACTJOB findet ?
    Wenn du z.B. mit ODBC auf die Datenbank zugreifst ist das das Subsystem QUSRWRK und die Jobs QZDASOINIT:
    Code:
    WRKACTJOB SBS(QUSRWRK) JOB(QZDASOINIT)

  3. #3
    Registriert seit
    Feb 2002
    Beiträge
    61
    Tja, dachte ich auch - aber diese Jobs haben alle CCSID 1141 und trotzdem habe ich in meiner Java-Anwendung nur das Sonnensymbol und nicht das Eurozeichen.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die Darstellung des Eurozeichens ist AS/400-spezifisch, in UNICODE (Java, Windows) belegt es eine andere Stelle und muss daher leider selber gemappt werden.
    Korrekt funktionierts wahrscheinlich nur, wenn auch die AS/400-Datei in UCS2 (CCSID 13488) steht.
    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
    Feb 2002
    Beiträge
    61
    Selbst wenn ich die Toolbox JT400 nehme, muss ich mich um die Umsetzung kümmern, sprich mit einem replace ?

    Übrigens, ein CHPF auf die CCSID 13488 wird mit Fehlermeldung
    CPD322C abgebrochen (Ursachencode 5 - Die Daten sind für die angegebenen CCSID-Werte ungültig.)

    @Pikachu: genau diesen Job suche ich, wo noch 273 drinnen steht.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das hat mit der CCSID des Database Serverjobs nix zu tun. Die Daten haben in der Table (oder auf Feldebene) eine Codierung und der JDBC Treiber hat das nach UTF8 zu konvertieren. Wenn das nicht klappt, ist an der Table, oder dem Inhalt was faul, oder der Treiber hat einen Bug.

    D*B

    Zitat Zitat von beegee Beitrag anzeigen
    Selbst wenn ich die Toolbox JT400 nehme, muss ich mich um die Umsetzung kümmern, sprich mit einem replace ?

    Übrigens, ein CHPF auf die CCSID 13488 wird mit Fehlermeldung
    CPD322C abgebrochen (Ursachencode 5 - Die Daten sind für die angegebenen CCSID-Werte ungültig.)

    @Pikachu: genau diesen Job suche ich, wo noch 273 drinnen steht.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2002
    Beiträge
    61
    ... da sagt Fürchau aber genau das Gegenteil (19-04-07, 13:31 )
    Deswegen bin ich auf den Serverjob gekommen.

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... was da ODBC macht, habe ich nix zu gesagt. JDBC legt da fest, was rauskommen muss...
    Was hat denn deine Tabelle, bzw. das Feld für eine CCSID - und was steht denn nun drin?

    D*B

    Zitat Zitat von beegee Beitrag anzeigen
    ... da sagt Fürchau aber genau das Gegenteil (19-04-07, 13:31 )
    Deswegen bin ich auf den Serverjob gekommen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Feb 2002
    Beiträge
    61
    Zuerst hatte diese 273, habs auf 1141 geändert - hatte aber keine Auswirkung.

    Das steht drinnen - Klartext:
    1 Digitalkamera Olympus C350 (3,2) 26

    Hex: 9F.....

    F4C888A899898984D9A99AA4CFFF44F6F5444494FF
    10497931321459106384742033500D3B2D0000F026

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... mach mal einen DSPFFD, was da auf Feldebene steht.

    Ich habe mir mal eine Tabelle mit einem 273 und einem 1141 Feld angelegt und da Euros reingeschrieben, Hex steht da immer die 9F drin, der Grüne zeigt das alles gnadenlos als Euro an, im JDBC kommt das 1141 Feld als Euro rüber, dass 273 als Rune oder Keilschrift. Welche CCSID der Job auch immer haben mag (auf Holgers Möhre darf ich mir das nicht angucken und meine schläft gerade), weiß ich nicht 1141 jedenfalls nicht...

    D*B

    Zitat Zitat von beegee Beitrag anzeigen
    Zuerst hatte diese 273, habs auf 1141 geändert - hatte aber keine Auswirkung.

    Das steht drinnen - Klartext:
    1 Digitalkamera Olympus C350 (3,2) 26

    Hex: 9F.....

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

  11. #11
    Registriert seit
    Feb 2002
    Beiträge
    61
    Da steht 1141:

    BTTEXT CHAR 75 75 14 Beides BTTEXT
    Feldtext . . . . . . . . . . . . . . . : TEXTZEILE
    ID des codierten Zeichensatzes . . . . . : 1141

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Problem ist, dass 1141 intern ja 273 ist und nur die 5250 das €-Symbol für diesen Codepunkt kennt.

    Ich denke mit einem CAST auf UCS2 kannst du das ggf. erledigen (CHGPF geht da nicht):

    cast(Feld as vargraphic(nn) ccsid 13488) as Feld

    nn ist die definierte Länge.
    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. per SQL Feld ändern...
    By svente in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 23-01-07, 09:49
  2. update per sql
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-09-06, 08:22
  3. Kopieren per SQL
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-07-06, 09:36
  4. Teildateien per SQL auflisten
    By Nennewitz in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 28-06-06, 13:49
  5. Sortierung per SQL
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-05-06, 12:40

Berechtigungen

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