Objectif
Utilise deux paramètres d'entrée, le nom d'une collection XML activée et celui du document XML à décomposer. Renvoie deux paramètres de sortie, un code et un message retour.
dxxInsertXML(char(UDB_SIZE) collectionName, /* input */ CLOB(1M) xmlobj, /* input */ long returnCode, /* output */ varchar(1024) returnMsg) /* output */
Paramètres
Tableau 49. Paramètres dxxInsertXML()
Paramètre | Description | Paramètre IN/OUT |
---|---|---|
collectionName | Nom d'une collection XML activée. | IN |
xmlobj | Objet document XML de type CLOB. | IN |
returnCode | Code retour renvoyé par la procédure mémorisée. | OUT |
returnMsg | Message renvoyé en cas d'erreur. | OUT |
Exemples
Dans l'exemple ci-après, vous appelez la procédure dxxInsertXML() qui décompose le document XML d'entrée e:\xml\order1.xml, puis insère les données dans les tables de la collection SALES_ORDER, en fonction du mappage indiqué dans le fichier DAD utilisé pour l'activation de la collection.
#include "dxx.h" #include "dxxrc.h" EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; char collection[64]; /* name of an XML collection */ SQL TYPE is CLOB_FILE xmlDoc; /* input XML document */ long returnCode; /* error code */ char returnMsg[1024]; /* error message text */ short collection_ind; short xmlDoc_ind; short returnCode_ind; short returnMsg_ind; EXEC SQL END DECLARE SECTION; /* initialize host variable and indicators */ 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; /* Call the store procedure */ EXEC SQL CALL db2xml!dxxInsertXML(:collection:collection_ind; :xmlobj:xmlobj_ind, :returnCode:returnCode_ind,:returnMsg:returnMsg_ind);