Manuali IBM

XML Extender - Gestione e programmazione


Funzioni di memorizzazione

Utilizzare le funzioni di memorizzazione per inserire documenti XML in un database DB2. E' possibile utilizzare le funzioni cast predefinite di un UDT direttamente nelle istruzioni INSERT o SELECT. Inoltre, XML Extender fornisce le funzioni UDF per richiamare documenti XML dalle origini anziché del tipo di dati di base UDT e per convertire tali documenti nell'UDT desiderato.

XML Extender fornisce le seguenti funzioni di memorizzazione:

XMLVarcharFromFile()

Scopo

Legge un documento XML da un server file e restituisce il documento come tipo XMLVARCHAR.

Sintassi
XMLVarcharFromFile
>>-XMLVarcharFromFile--(--fileName--)--------------------------><
 

Parametri

Tabella 22. parametro XMLVarcharFromFile
Parametro Tipo di dati Descrizione
fileName VARCHAR(512) Il nome completo del server file.

Tipo restituzione

XMLVARCHAR

Esempio

Di seguito è riportato un esempio di lettura di un documento XML da un server file e del relativo inserimento in una colonna XML come tipo XMLVARCHAR.

EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER)
   VALUES('1234', 'Sriram Srinivasan',
           XMLVarcharFromFile('c:\dxx\samples\cmd\getstart.xml'))

In questo esempio, un record viene inserito nella tabella SALES_TAB. La funzione XMLVarcharFromFile() importa il documento XML da un file in DB2 e lo memorizza come XMLVARCHAR.

XMLCLOBFromFile()

Scopo

Legge un documento XML da un server file e lo restituisce come tipo XMLCLOB.

Sintassi
XMLCLOBFromFile
>>-XMLCLOBFromFile--(--fileName--)-----------------------------><
 

Parametri

Tabella 23. parametro XMLCLOBFromFile
Parametro Tipo di dati Descrizione
fileName VARCHAR(512) Il nome completo del server file.

Tipo restituzione

XMLCLOB come LOCATOR

Esempio

Di seguito è riportato un esempio di lettura di un documento XML da un server file e del relativo inserimento in una colonna XML come tipo XMLCLOB.

EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER)
   VALUES('1234', 'Sriram Srinivasan',
           XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))

La colonna ORDER nella tabella SALES_TAB viene definita come tipo XMLCLOB. L'esempio precedente illustra come la colonna ORDER viene inserita nella tabella SALES_TAB.

XMLFileFromVarchar()

Scopo

Legge un documento XML dalla memoria come VARCHAR, lo scrive in un server file esterno e restituisce il percorso e nome file come tipo XMLFILE.

Sintassi
XMLFileFromVarchar
>>-XMLFileFromVarchar--(--buffer--,--fileName--)---------------><
 

Parametri

Tabella 24. Parametri XMLFileFromVarchar
Parametro Tipo di dati Descrizione
buffer VARCHAR(3K) Il buffer della memoria.
fileName VARCHAR(512) Il nome completo del server file.

Tipo restituzione

XMLFILE

Esempio

Di seguito sono riportati esempi di lettura di un documento XML dalla memoria come VARCHAR, la relativa scrittura in un server file esterno e dell'inserimento del percorso e nome file come tipo XMLFILE in una colonna XML.

EXEC SQL BEGIN DECLARE SECTION;
     	struct {	short len; char data[3000]; } xml_buff; 
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) 
  VALUES('1234', 'Sriram Srinivasan', 
	       XMLFileFromVarchar(:xml_buf, 'c:\dxx\samples\cmd\getstart.xml'))

La colonna ORDER nella tabella SALES_TAB viene definita come tipo XMLFILE. L'esempio precedente illustra che se si dispone di un documento XML nel buffer, è possibile memorizzarlo in un server file.

XMLFileFromCLOB()

Scopo

Legge un documento XML come indicatore di posizione CLOB, lo scrive in un server file esterno e restituisce il percorso e nome file come tipo XMLFILE.

Sintassi
XMLFileFromCLOB
>>-XMLFileFromCLOB--(--buffer--,--fileName--)------------------><
 

Parametri

Tabella 25. Parametri XMLFileFromCLOB()
Parametri Tipo di dati Descrizione
buffer CLOB come LOCATOR Il buffer che contiene il documento XML.
fileName VARCHAR(512) Il nome completo del server file.

Tipo restituzione

XMLFILE

Esempio

Di seguito sono riportati esempi di lettura di un documento XML come indicatore di posizione CLOB, la relativa scrittura in un server file esterno e dell'inserimento del percorso e nome file come tipo XMLFILE in una colonna XML.

EXEC SQL BEGIN DECLARE SECTION;
     SQL TYPE IS CLOB_LOCATOR xml_buff;
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) 
   VALUES('1234', 'Sriram Srinivasan', 
           XMLFileFromCLOB(:xml_buf, 'c:\dxx\samples\cmd\getstart.xml'))

La colonna ORDER nella tabella SALES_TAB viene definita come tipo XMLFILE. Se si dispone di un documento XML nel buffer, è possibile memorizzarlo in un server file.


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]