Utilice funciones de almacenamiento para insertar documentos XML en una base de datos DB2. Puede utilizar directamente en una sentencia INSERT o SELECT las funciones predefinidas de conversión de un UDT. Además, el XML Extender proporciona funciones UDF para extraer documentos XML de fuentes distintas que el tipo de datos base del UDT y convertirlos al UDT deseado.
El XML Extender proporciona las funciones de almacenamiento siguientes:
Finalidad
Lee un documento XML de un archivo de servidor y devuelve el documento como un tipo XMLVARCHAR.
Sintaxis
XMLVarcharFromFile |
---|
>>-XMLVarcharFromFile--(--nombreArchivo--)--------------------->< |
Parámetros
Tabla 22. Parámetro de XMLVarcharFromFile
Parámetro | Tipo de datos | Descripción |
---|---|---|
nombreArchivo | VARCHAR(512) | Es el nombre completamente calificado del archivo de servidor. |
Tipo de devolución
XMLVARCHAR
Ejemplo
El ejemplo siguiente lee un documento XML de un archivo de servidor y lo inserta en una columna XML como un tipo XMLVARCHAR.
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) VALUES('1234', 'Sriram Srinivasan', XMLVarcharFromFile('c:\dxx\samples\cmd\getstart.xml'))
Este ejemplo inserta un registro en la tabla SALES_TAB. La función XMLVarcharFromFile() importa el documento XML de un archivo a DB2 y lo guarda en forma de XMLVARCHAR.
Finalidad
Lee un documento XML de un archivo de servidor y devuelve el documento como un tipo XMLCLOB.
Sintaxis
XMLCLOBFromFile |
---|
>>-XMLCLOBFromFile--(--nombreArchivo--)------------------------>< |
Parámetros
Tabla 23. Parámetro de XMLCLOBFromFile
Parámetro | Tipo de datos | Descripción |
---|---|---|
nombreArchivo | VARCHAR(512) | Es el nombre completamente calificado del archivo de servidor. |
Tipo de devolución
XMLCLOB como LOCATOR
Ejemplo
El ejemplo siguiente lee un documento XML de un archivo de servidor y lo inserta en una columna XML como un tipo XMLCLOB.
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) VALUES('1234', 'Sriram Srinivasan', XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))
La columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLCLOB. El ejemplo anterior muestra cómo se inserta la columna ORDER en la tabla SALES_TAB.
Finalidad
Lee un documento XML de la memoria como VARCHAR, lo escribe en un archivo de servidor externo y devuelve el nombre de archivo y la vía de acceso como un tipo XMLFILE.
Sintaxis
XMLFileFromVarchar |
---|
>>-XMLFileFromVarchar--(--almacenamiento_intermedio--,--nombreArchivo--)--> >-------------------------------------------------------------->< |
Parámetros
Tabla 24. Parámetros de XMLFileFromVarchar
Parámetro | Tipo de datos | Descripción |
---|---|---|
almacenamiento_intermedio | VARCHAR(3K) | Es la memoria intermedia. |
nombreArchivo | VARCHAR(512) | Es el nombre completamente calificado del archivo de servidor. |
Tipo de devolución
XMLFILE
Ejemplo
El ejemplo siguiente lee un documento XML de la memoria como VARCHAR, lo escribe en un archivo de servidor externo e inserta el nombre de archivo y la vía de acceso como un tipo XMLFILE en una columna 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 columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLFILE. El ejemplo anterior muestra cómo almacenar en un archivo de servidor un documento XML contenido en almacenamiento intermedio.
Finalidad
Lee un documento XML como un localizador de CLOB, lo escribe en un archivo de servidor externo y devuelve el nombre de archivo y la vía de acceso como un tipo XMLFILE.
Sintaxis
XMLFileFromCLOB |
---|
>>-XMLFileFromCLOB--(--almacenamiento_intermedio--,--nombreArchivo--)--> >-------------------------------------------------------------->< |
Parámetros
Tabla 25. Parámetros de XMLFileFromCLOB()
Parámetros | Tipo de datos | Descripción |
---|---|---|
almacenamiento_intermedio | CLOB como LOCATOR | Es el almacenamiento intermedio donde reside el documento XML. |
nombreArchivo | VARCHAR(512) | Es el nombre completamente calificado del archivo de servidor. |
Tipo de devolución
XMLFILE
El ejemplo siguiente lee un documento XML como un localizador de CLOB, lo escribe en un archivo de servidor externo e inserta el nombre de archivo y la vía de acceso como un tipo XMLFILE en una columna 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 columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLFILE. Si tiene un documento XML en el almacenamiento intermedio, puede almacenarlo en un archivo de servidor.