-
Problem mit SET RESULT SETS
Folgender SQLRPG-Code liegt hier zugrunde:
D KDARR DS QUALIFIED DIM(30)
D KDNR 7 0
D KDNAM 20C
.
.
C DO 30
C READ KUNDSTAM
C EVAL X = X + 1
C EVAL KDARR(X).KDNR = KDNUMR
C EVAL KDARR(X).KDNAM = %UCS2(KDNAME)
C ENDDO
.
.
C/EXEC SQL
C+ SET RESULT SETS ARRAY :KDARR FOR :X ROWS
C/END-EXEC
Ich versuche hier einfach nur ein ResultSet mit Kundennummern und Kundennamen an ein aufrufendes Programm zurückzugeben. Ich benötige für das aufrufende Programm den Kundennamen im Unicode-Format (deshalb UCS2). Allerdings scheint das nicht zu funktionieren, denn das ResultSet kann im rufenden Programm nicht verarbeitet werden. Die Fehlermeldung besteht leider nur aus kryptischen Zeichen, sodass ich damit nicht viel anfangen kann.
Wenn ich statt des UCS2-Feldes ein Alpha-Feld verwende, dann erhalte ich zwar die Daten im rufenden Programm, jedoch wird keine Codeumwandlung durchgeführt.
Weiß jemand zufällig wie ich UCS2-Felder im ResultSet zurückgeben kann?
Ich könnte zwar auch mit einem Cursor arbeiten und einen SQL-Select ausführen. Ich wollte aber die Datei satzweise verarbeiten, da dies deutlich schneller geht.
Gruß,
KM
-
Was die Geschwindigkeit angeht, ist der SQL nicht langsamer !
Was die Codepage angeht, muss das Feld für das Resultset auch entsprechend definiert sein:
D KDNAM 20G CCSID(13488)
Also als Typ Graphik und mit der entsprechende CCSID.
Bei UCS2 musst du auch mit einer Verdoppelung der Zeichenbreite rechnen.
-
Damit hab ich's auch schon versucht. Aber das mosert mir der Compiler an. Die Meldung lautet:
Der Parameter für das Schlüsselwort CCSID ist ungültig.
Warum geht es denn nicht mit dem Datentyp "C" ?
Gruß,
KM
-
Ja stimmt, Datentyp "C" ist ja UCS2 !
Das Problem ist wohl, dass der Job ja in SBCS (also z.B. 273) läuft, bei der Rückgabe also wieder eine Codewandlung in CCSID(273) stattfindet.
Wo läuft das aufrufende Programm ?
Auch dieses arbeitet ja ggf. wieder im SBCS-Modus !
Ich denke der ganze UCS2-Kram läuft nur in Verbindung mit der Aussenwelt (sprich ODBC-Zugriff). In der Innenwelt wird ggf. immer in die Job-CCSID konvertiert.
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-10-06, 10:07
-
By Flappes in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 06-10-06, 08:39
-
By KM in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 22-05-06, 14:22
-
By Etherion in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 19-05-06, 13:31
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks