XML Extender Verwaltung und Programmierung

dxxShredXML()

Zweck

Die gespeicherte Prozedur dxxShredXML() ist das Gegenstück zur gespeicherten Prozedur dxxGenXML(). Damit dxxShredXML() funktioniert, müssen alle in der DAD-Datei angegebenen Tabellen vorhanden sein, und alle in der DAD-Datei angegebenen Spalten und ihre Datentypen müssen mit den vorhandenen Tabellen konsistent sein. Die gespeicherte Prozedur dxxShredXML() erfordert keine Primärschlüsselbeziehung zwischen den verknüpften Tabellen, die vom XML Extender beim Aktivieren der Objektgruppe erstellt wird. Die im RDB_node des Root-element_node angegebenen Spalten mit den Verknüpfungsbedingungen müssen jedoch in den Tabellen vorhanden sein.

dxxShredXML(CLOB(100K)    DAD,            /* Eingabe */
            CLOB(1M)      xmlobj,         /* Eingabe */
          long           returncode,      /* Ausgabe */
            varchar(1024) returnMsg)      /* Ausgabe */

Parameter

Tabelle 48. Parameter für dxxShredXML()
Parameter Beschreibung IN/OUT-Parameter
DAD Ein CLOB mit der DAD-Datei. IN
xmlobj Ein XML-Dokumentobjekt mit dem Typ XMLCLOB. IN
returnCode Der Rückkehrcode von der gespeicherten Prozedur. OUT
returnMsg Der Nachrichtentext, der im Fehlerfall zurückgegeben wird. OUT

Beispiele

Das folgende Beispiel zeigt einen Aufruf von dxxShredXML().

#include "dxx.h" 
#include "dxxrc.h"
 
EXEC SQL INCLUDE SQLCA;
            EXEC SQL BEGIN DECLARE SECTION;
              SQL TYPE is CLOB dad;           /* DAD*/
              SQL TYPE is CLOB_FILE  dadFile; /* DAD-Datei */
              SQL TYPE is CLOB      xmlDoc;   /* XML-Eingabedokument */
              SQL TYPE is CLOB_FILE xmlFile;  /* Eingabe-XMLfile */
              long        returnCode;         /* Fehlercode */
              char        returnMsg[1024];    /* Fehlernachrichtentext */
              short       dad_ind;
              short       xmlDoc_ind;
              short       returnCode_ind;
              short       returnMsg_ind;
              EXEC SQL END DECLARE SECTION;
 
              /* Host-Variable und Anzeiger initialisieren */
              strcpy(dadFile.name,"c:\dxx\samples\dad\getstart_xcollection.dad");
              dadFile.name_length=strlen("c:\dxx\samples\dad\getstart_xcollection.dad");
              dadFile.file_option=SQL_FILE_READ;
              strcpy(xmlFile.name,"c:\dxx\samples\cmd\getstart.xml");
              xmlFile.name_length=strlen("c:\dxx\samples\cmd\getstart.xml");
              xmlFile.file_option=SQL_FILE_READ;
              SQL EXEC VALUES (:dadFile) INTO :dad;
              SQL EXEC VALUES (:xmlFile) INTO :xmlDoc;
              returnCode = 0;
              returnMsg[0] = '\0';
              dad_ind = 0;
              xmlDoc_ind = 0;
              returnCode_ind = -1;
              returnMsg_ind = -1;
 
              /* Gespeicherte Prozedur aufrufen */
              EXEC SQL CALL db2xml!dxxShredXML(:dad:dad_ind;
                              :xmlDoc:xmlDoc_ind,
                              :returnCode:returnCode_ind,:returnMsg:returnMsg_ind); 


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