Mit dem XML Extender können Sie intakte XML-Dokumente in eine XML-Spalte einfügen. Wenn Sie Seitentabellen definieren, aktualisiert der XML Extender diese Tabellen automatisch. Wenn Sie ein XML-Dokument direkt speichern, speichert der XML Extender den Basistyp als XML-Typ.
Task-Übersicht:
Der XML Extender bietet zwei Methoden zum Speichern von
XML-Dokumenten: Standardumsetzungsmethoden und Speicher-UDFs. Tabelle 8 zeigt, in welchen Fällen diese Methoden
verwendet werden sollten.
Tabelle 8. Die XML Extender-Speicherfunktionen
Basistyp | Speichern in DB2 als... | ||
---|---|---|---|
XMLVARCHAR | XMLCLOB | XMLFILE | |
VARCHAR | XMLVARCHAR() | N/A | XMLFileFromVarchar() |
CLOB | N/A | XMLCLOB() | XMLFileFromCLOB() |
FILE | XMLVarcharFromFile() | XMLCLOBFromFile() | XMLFILE |
Tabelle 9. Die XML Extender-Standardumsetzungsfunktionen
In SELECT-Klausel verwendete Umsetzung | Rückgabetyp | Beschreibung |
---|---|---|
XMLVARCHAR(VARCHAR) | XMLVARCHAR | Eingabe aus dem Speicherpuffer als VARCHAR |
XMLCLOB(CLOB) | XMLCLOB | Eingabe aus dem Speicherpuffer als CLOB oder CLOB-Zeigereinheit |
XMLFILE(VARCHAR) | XMLFILE | Nur Speicherung des Dateinamens |
Beispiel: Die folgende Anweisung fügt einen umgesetzten Typ VARCHAR in den Typ XMLVARCHAR ein:
INSERT INTO sales_tab VALUES('123456', 'Sriram Srinivasan', db2xml.XMLVarchar(:xml_buff))
Tabelle 10 zeigt die vom XML Extender bereitgestellten
Speicherfunktionen.
Tabelle 10. Die Speicher-UFDs des XML Extender
Benutzerdefinierte Speicherfunktion | Rückgabetyp | Beschreibung |
---|---|---|
XMLVarcharFromFile() | XMLVARCHAR | Liest ein XML-Dokument aus einer Datei auf dem Server ein und gibt den Wert des Typs XMLVARCHAR zurück. |
XMLCLOBFromFile() | XMLCLOB | Liest ein XML-Dokument aus einer Datei auf dem Server ein und gibt den Wert des Typs XMLCLOB zurück. |
XMLFileFromVarchar() | XMLFILE | Liest ein XML-Dokument aus dem Speicher als VARCHAR ein, schreibt es in eine externe Datei und gibt den Wert des Typs XMLFILE zurück; dieser Wert ist der Dateiname. |
XMLFileFromCLOB() | XMLFILE | Liest ein XML-Dokument aus dem Speicher als CLOB oder als CLOB-Zeigereinheit ein, schreibt es in eine externe Datei und gibt den Wert des Typs XMLFILE zurück; dieser Wert ist der Dateiname. |
Beispiel: Die folgende Anweisung speichert einen Datensatz mit der Funktion XMLCLOBFromFile() in einer XML-Tabelle als XMLCLOB.
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) VALUES( '1234', 'Sriram Srinivasan, XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))
In diesem Beispiel wird das XML-Objekt aus der Datei c:\dxx\samples\cmd\getstart.xml in die Spalte ORDER in der Tabelle SALES_TAB importiert.