Zweck
Verwendet zwei Eingabeparameter: den Namen einer aktivierten XML-Objektgruppe und das zu zerlegenden XML-Dokument; sie gibt zwei Ausgabeparameter aus: einen Rückkehrcode und eine Rückkehrnachricht.
dxxInsertXML(char(UDB_SIZE) collectionName, /* Eingabe */ CLOB(1M) xmlobj, /* Eingabe */ long returnCode, /* Ausgabe */ varchar(1024) returnMsg) /* Ausgabe */
Parameter
Tabelle 49. Parameter für dxxInsertXML()
Parameter | Beschreibung | IN/OUT-Parameter |
---|---|---|
collectionName | Der Name einer aktivierten XML-Objektgruppe | IN |
xmlobj | Ein XML-Dokumentobjekt mit dem Typ CLOB. | IN |
returnCode | Der Rückkehrcode von der gespeicherten Prozedur. | OUT |
returnMsg | Der Nachrichtentext, der im Fehlerfall zurückgegeben wird. | OUT |
Beispiele
Im folgenden Beispiel zerlegt der Aufruf von dxxInsertXML() das XML-Eingabedokument e:\xml\order1.xml und fügt entsprechend der in der DAD-Datei angegebenen Zuordnung, mit der sie aktiviert wurde, Daten in die Gruppentabellen SALES_ORDER ein.
#include "dxx.h" #include "dxxrc.h" EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; char collection[64]; /* Name einer XML-Objektgruppe */ SQL TYPE is CLOB_FILE xmlDoc; /* XML-Eingabedokument */ long returnCode; /* Fehlercode */ char returnMsg[1024]; /* Fehlernachrichtentext */ short collection_ind; short xmlDoc_ind; short returnCode_ind; short returnMsg_ind; EXEC SQL END DECLARE SECTION; /* Host-Variable und Anzeiger initialisieren */ strcpy(collection,"sales_ord") strcpy(xmlobj.name,"c:\dxx\samples\cmd\getstart.xml"); xmlobj.name_length=strlen("c:\dxx\samples\cmd\getstart.xml"); xmlobj.file_option=SQL_FILE_READ; returnCode = 0; returnMsg[0] = '\0'; collection_ind = 0; xmlobj_ind = 0; returnCode_ind = -1; returnMsg_ind = -1; /* Gespeicherte Prozedur aufrufen */ EXEC SQL CALL db2xml!dxxInsertXML(:collection:collection_ind; :xmlobj:xmlobj_ind, :returnCode:returnCode_ind,:returnMsg:returnMsg_ind);