Differences

This shows you the differences between two versions of the page.

Link to this comparison view

xml_from_sql [2018/03/05 10:50]
xml_from_sql [2021/04/05 11:23] (current)
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}}