IBM Books

管理およびプログラミングの手引き

dxxShredXML()

目的

ストアード・プロシージャー dxxShredXML() は、 dxxGenXML() に対応するストアード・プロシージャーです。 dxxShredXML() を実行するには、DAD ファイルで指定されたすべての表が存在しなければならず、 DAD で指定されたすべての列およびデータ・タイプが既存の表と適合していなければなりません。 ストアード・プロシージャー dxxShredXML() では、 結合する表の間で基本キーと外部キーの関連は必要ありません (この関連は、 コレクションの使用可能化プロセス中に XML エクステンダーが作成するものです)。 ただし、root element_node の RDB_node 内で指定される結合条件の列が、 すでに表に存在していなければなりません。

dxxShredXML(CLOB(100K)    DAD,            /* input */
            CLOB(1M)      xmlobj,         /* input */
            long          returnCode,     /* output */
            varchar(1024) returnMsg)      /* output */

パラメーター

表 48. dxxShredXML() パラメーター
パラメーター 説明 IN/OUT パラメーター
DAD DAD ファイルを含む CLOB IN
xmlobj XMLCLOB タイプの XML 文書オブジェクト IN
returnCode ストアード・プロシージャーからの戻りコード OUT
returnMsg エラー発生時に戻されるメッセージ・テキスト OUT

以下は 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 file*/
              SQL TYPE is CLOB xmlDoc;        /* input XML document */
              SQL TYPE is CLOB_FILE xmlFile;  /* input XMLfile */
              long        returnCode;         /* error code */
              char        returnMsg[1024];    /* error message text */
              short       dad_ind;
              short       xmlDoc_ind;
              short       returnCode_ind;
              short       returnMsg_ind;
              EXEC SQL END DECLARE SECTION;
              /* initialize host variable and indicators */
              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;
 
              /* Call the store procedure */
              EXEC SQL CALL db2xml!dxxShredXML(:dad:dad_ind;
                              :xmlDoc:xmlDoc_ind,
                              :returnCode:returnCode_ind,:returnMsg:returnMsg_ind);


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]