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

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.390
    ... 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/

  2. #2
    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

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.390
    ... 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/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.790
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.790
    @Dieter
    Leider ist die CCSID des Server-Jobs sehr wichtig!
    Diese wird aus der Sprache des Users bzw. aus demn Systemwert QCCSID entwickelt.
    Ist QCCSID = 65535, nimmt der Serverjo 037 an.
    Dies ist deshalb nötig, da ja auch der Serverjob die Daten beim Lesen in die Job-CCSID konvertiert (ausser bei 65535) bevor diese dann per ODBC verschickt werden.
    Der ODBC/JDBC-Treiber wandelt diese dann in seinen entsprechenden Code um (UTF8, Unicode, ANSI, ASCII).

    Für den AS/400-ODBC/JDBC gibts dann halt noch die Einstellung für die HEX-Umsetzung von CCSID 65535:
    a) Job-CCSID wenn <> 65535
    b) 037 wenn = 65535
    Wobei dann allerdings tatsächliche Hexwerte (also echte Binärfelder) nicht verarbeitet werden können.
    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. #6
    Registriert seit
    Feb 2002
    Beiträge
    61
    Cast hat leider nichts gebracht - kommt noch immer die Sonne statt Eurozeichen

    SELECT BTSKTO, BTLFNR, BTFOLG, cast(bttext as vargraphic(75) ccsid 13488) as BTTEXT FROM STAMDATTST.BTGATP WHERE BTSKTO = '05100' AND BTLFNR = 5367 AND BTFOLG = 1 ORDER BY BTSKTO, BTLFNR, BTFOLG

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.390
    ... mit CCSIDS widerspreche ich dir ungern, da kennst du dch eigentlich besser aus als ich --- aber:
    das mit der Umsetzung im Serverjob hätte zur Folge, dass Information verloren geht, wenn in Tabellen mehrere CCSIDS vorkommen, da nämlich "fremde" Daten nicht ohne Verlust umgesetzt werden können.
    Ich habe noch keinen JDBC Treiber von innen angesehen, weiß aber (mittlerweile) was so über die ARDPGM und DRDA Schnittstelle geht; da werden die Daten per SQLDA beschrieben (die die CCSIDs der Felder und Daten mit beschreibt) und die Daten werden binary geschickt.


    Dieter

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Dies ist deshalb nötig, da ja auch der Serverjob die Daten beim Lesen in die Job-CCSID konvertiert (ausser bei 65535) bevor diese dann per ODBC verschickt werden.
    Der ODBC/JDBC-Treiber wandelt diese dann in seinen entsprechenden Code um (UTF8, Unicode, ANSI, ASCII).

    Für den AS/400-ODBC/JDBC gibts dann halt noch die Einstellung für die HEX-Umsetzung von CCSID 65535:
    a) Job-CCSID wenn <> 65535
    b) 037 wenn = 65535
    Wobei dann allerdings tatsächliche Hexwerte (also echte Binärfelder) nicht verarbeitet werden können.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.427
    Zitat Zitat von beegee Beitrag anzeigen
    ... trotzdem habe ich in meiner Java-Anwendung nur das Sonnensymbol und nicht das Eurozeichen.
    Da muß noch irgendwo CCSID 273 sein, denn das Währungszeichen (Sonnensymbol) hat in CCSID 273 denselben Kodepunkt (9F) wie das Eurozeichen in CCSID 1141.

Similar Threads

  1. per SQL Feld ändern...
    By svente in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 23-01-07, 10:49
  2. update per sql
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-09-06, 09:22
  3. Kopieren per SQL
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-07-06, 10:36
  4. Teildateien per SQL auflisten
    By Nennewitz in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 28-06-06, 14:49
  5. Sortierung per SQL
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-05-06, 13:40

Berechtigungen

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