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:
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.
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.
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.
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
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.