This shows you the differences between two versions of the page.
— |
xml_from_sql [2018/03/05 09:50] (current) mihael created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== XML from SQL ====== | ||
+ | <blockquote> | ||
+ | Wenn der Datentyp der Spalte in der Tabelle XML ist, und bei der Spalten-Definition keine CCSID angegeben wurde, wird die CCSID aus der QAQQINI verwendet, d.h. die Daten sind per Default UTF-8. | ||
+ | |||
+ | Wenn Du mit embedded SQL und XML_CLOB_FILE das Dokument ins IFS schreibst erfolgt die Ausgabe als UTF-8 Daten. | ||
+ | |||
+ | Sofern Deine XML-Daten alphanumerisch (EBCDIC) oder auch Double Byte z.B. UCS2 sind, kannst Du das XML-Dokument, mit XMLPARSE und XMLSERIALIZE in ein UTF-8 Daten konvertieren. | ||
+ | XMLPARSE prüft ob es sich um gültige XML-Daten handelt und konvertiert diese in ein internes Format. | ||
+ | XMLSERIALIZE konvertiert aus dem internen Format in einen alphanumerischen String. | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | Code: | ||
+ | |||
+ | Values(XMLSerialize( | ||
+ | XMLParse(Document 'ABCDEDer Bär frißt öfter grüne Äpfel') | ||
+ | as VarChar(1024) ccsid 1208 including XMLDeclaration)); | ||
+ | |||
+ | Including XMLDeclaration bewirkt an dieser Stelle nur, dass noch eine XML-Deklaration hinzugefügt wird. Wird es nicht angegeben, wird keine Deklaration hinzugefügt. | ||
+ | |||
+ | UCS2 ist übrigens ein Double Byte Character Set und verlangt folglich einen DBCLOB (Double Byte Large Object)! | ||
+ | |||
+ | Birgitta | ||
+ | |||
+ | Birgitta Hauser | ||
+ | |||
+ | </blockquote> | ||
+ | |||
+ | {{tag>ibm sql xml devel}} |