Differences
This shows you the differences between two versions of the page.
xml_from_sql [2018/03/05 10:50] |
xml_from_sql [2021/04/05 11:23] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== XML from SQL ====== | ||
+ | < | ||
+ | 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, | ||
+ | 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( | ||
+ | | ||
+ | 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 | ||
+ | |||
+ | </ | ||
+ | |||
+ | {{tag> |