XML Extender Verwaltung und Programmierung

Daten speichern

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:

  1. Stellen Sie sicher, daß Sie die DAD-Datei erstellt bzw. aktualisiert haben.
  2. Stellen Sie fest, welcher Datentyp beim Speichern des Dokuments verwendet werden soll.
  3. Wählen Sie eine Methode zum Speichern der Daten in der DB2-Tabelle aus (Umsetzungsfunktionen oder UDFs).
  4. Geben Sie eine SQL-Anweisung INSERT an, die die XML-Tabelle und die die Spalte angibt, die das XML-Dokument enthalten soll.

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

Standardumsetzungsfunktion verwenden
Für jeden UDT gibt es eine Standardumsetzungsfunktion zur Umsetzung des SQL-Basistyps in den UDT. Sie können die vom XML Extender bereitgestellten Umsetzungsfunktionen in Ihren VALUES-Klauseln verwenden, um Daten einzufügen. Tabelle 9 zeigt die bereitgestellten Umsetzungsfunktionen:

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))

Als Speicher-UDF:
Für jeden XML Extender-UDT gibt es eine Speicher-UDF zum Importieren von Daten in DB2 aus einer anderen Ressource als ihrem Basistyp. Wenn Sie beispielsweise eine XML-Datei als XMLCLOB in DB2 importieren wollen, können Sie die Funktion XMLCLOBFromFile() verwenden.

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.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]