UNICODE DB2 V8 – Z-OS
- Dieses Thema hat 5 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 17 Jahre, 2 Monaten von
Anonym.
-
AuthorPosts
-
31. Oktober 2005 um 11:11 Uhr #2622
AnonymInaktivHAllo
Wiedereinmal habe ich ein problem.!! Nachdem ich auf einem Test-system auf die DB2-Version 8.1
migriert habe kann ich die daten der
sysibm.syspackstmt nicht mehr mit SQL lesen da die Zeichen in Unicode verschlüsselt sind.
Mit der Cast-FUnktion komme ich auch nicht weiter.
Weiß jemand Rat?
Zefrim
31. Oktober 2005 um 14:38 Uhr #3049
AnonymGast… merkwürdig. Müsste nicht eigentlich DB2 erkennen, das die Tabelle in Unicode gespeichert wird und die Konvertierung anhand der Codepage des Request selbstständig vornehmen?
Handelt es sich um alte Packages, die vor Einsatz V8 schon vorhanden waren? Wie verhält es sich mit neuen Packages, oder hilft vielleicht ein Rebind?Gruß, Rolf
31. Oktober 2005 um 15:07 Uhr #3349
AnonymInaktivHI
es handelt sich um ein neues Package im NEW FUNCTION MODE gebunden.
Das ding sieht etwa so aus:STMT
+————————————————————-
á ã<! è  +à <á+åèç èçá+ ïçá+ {!<è~&á {ç ê  +à ã
ã!êáñå+.á~ â  +à <á+åèç !ê ç èçá+ ïç
à <á+åèç èçá+ ïçá+ {!<è~&á î ê{ç ê  +à ã!êáñå+.
à á{ñ( < èçá+ ïçá+ {!<è~&á åê &çñ{ èçá+ ïçá+ {!
ïçá+ {!<è~&á â<!â èçá+ ïçá+ {!<è~&á {<!â è
à ç èçá+ ïçá+ {!<è~&á èñ(á  +à ç èçá+ ïçá
ê!ïñà èçá+ ïçá+ {!<è~&á à ñëèñ+{è èçá+ á<ëá á+
à  èá  +à ç èçá+ ïçá+ {!<è~&á à ñëèñ+{è  +à ë!Ãê{á
è~&á î ê{ç ê èçá+ <á+åèç ïçá+ {!<è~&á <!+åî ê èçá+ <á
ç ïçá+ {!<è~&á à â{<!â èçá+ <á+åèç ïçá+ {!<è~&á Ãaber ich wei0 inzwischen wie man auf so etwas zugreift:#
ALSO MAN MUSS FOLGENDES SQL-STMT CODIEREN.:
SELECT SEQNO,
CAST (CAST(STMT AS VARCHAR(3500) CCSID 1208) AS ,
VARCHAR(3500) CCSID EBCDIC)
FROM SYSIBM.SYSPACKSTMT
——————–die CCSID ist zwölfnull8 wied hier falsch dargestellt.-
17. Mai 2006 um 11:51 Uhr #3536
AnonymGasthi,
normalerweise wird eine konvertierung vorgenommen, eine ausnahme ist, spalten die mit FOR BIT DATA definiert wurden.
ein tool fuer die konvertierung wäre Vsiual Explain (kostenloses download) oder SQL-Ergebnis bzw. DBRM binaer auf workstation runterladen und mit zb Notepad ansehen.
LG von Arno Gabriel, IBM Austria
18. Mai 2006 um 6:06 Uhr #3666
AnonymInaktivJa, leider ist die Spalte in der SYSPACKSTMT
mit VARCHAR(3500) FOR BIT DATA NOT NULL definiert.darum hilft nur das CASTen. Allerdings steht in dem STMT nicht nur Text, sondern auch Längen- und Offset–Informationen.
Ich weiss selbst auch noch nicht, wie ich damit umgehen soll…@ zefrim: Die smileys kann man auch deaktivieren, dann klappts auch mit 1208 😉
12. Juli 2006 um 15:33 Uhr #3761
AnonymGastIch werde im September (wenn ich ein DB2 V8FM nutzen kann) eine REXX-Proc anpassen, die DBRMs analysiert: Ich wolle bei UniCode-Packages dafür Längen-/Offset-Informationen aus der (Original)UniCodierung nehmen und nur die Textteile umcasten.
Rüdiger
-
AuthorPosts
You must be logged in to reply to this topic.