Mandato EXPORT utilizando el procedimiento ADMIN_CMD

El mandato EXPORT exporta datos de una base de datos a uno de varios formatos de archivo externos. El usuario especifica los datos que se deben exportar proporcionando una sentencia SELECT de SQL o proporcionando información jerárquica para tablas de tipo. Los datos solo se exportan al servidor.

Para obtener más información, consulte el apartado Modificadores de tipo de archivo para el programa de utilidad de exportación.

Autorización

Una de las autorizaciones siguientes:
  • Autorización DATAACCESS
  • Privilegio CONTROL o SELECT en cada tabla o vista participante

Conexión necesaria

Base de datos. El acceso del programa de utilidad a servidores de bases de datos Linux, UNIX o Windows desde clientes Linux, UNIX o Windows debe ser una conexión directa a través del motor. El acceso no debe ser una conexión directa a través de una pasarela Db2 Connect o un entorno de bucle.

Sintaxis del mandato

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualEXPORT TOnombrearchivoOFtipoarchivo LOBS TO,vía-lobLOBFILE,nombrearchivoXML TO,vía-xmlXMLFILE,nombrearchivoMODIFIED BYmod-tipoarchivoXMLSAVESCHEMAMETHOD N(,nombre-columna)MESSAGES ON SERVERsentencia-selectXQUERYsentencia-xqueryHIERARCHYSTARTINGnombre-tabla-sublista-orden-transversalWHERE
lista-orden-transversal
Leer el esquema de sintaxisOmitir el esquema de sintaxis visual( ,nombre-sub-tabla )

Parámetros del mandato

TO nombrearchivo
Especifica el nombre del archivo al que hay que exportar datos en el servidor. Este parámetro debe ser una vía de acceso completa y debe existir en la partición coordinadora del servidor.

Si se especifica el nombre un archivo que existe, el programa de utilidad de exportación sobrescribe el contenido del archivo; no añade la información.

Con o sin la cláusula, el ID de usuario delimitado debe tener la autoridad para crear archivos bajo el directorio indicado por la variable de registro DB2_UTIL_MSGPATH, así como el directorio donde se van a exportar los datos.

OF tipoarchivo
Especifica el formato de los datos del archivo de salida:
  • DEL (formato ASCII delimitado), que es utilizado por gestor de bases de datos y distintos gestores de archivos.
  • IXF (Integration Exchange Format, versión PC) es un formato binario con propietario.
LOBS TO vía-lob
Especifica una o más vías de acceso a los directorios en los que deben almacenarse los archivos LOB. La vía (o vías) debe existir en la partición coordinadora del servidor y debe estar totalmente calificada. Debe haber, al menos, un archivo por vía de acceso de LOB, y cada archivo debe contener al menos un LOB. El número máximo de vías de acceso que se puede especificar es 999. Este valor activa de forma implícita el comportamiento de LOBSINFILE.
LOBFILE nombrearchivo
Especifica uno o más nombres de archivo base para los archivos LOB. Cuando se ha agotado el espacio de nombres para el primer nombre, se utiliza el segundo nombre y así sucesivamente. Este valor activa de forma implícita el comportamiento de LOBSINFILE.

Cuando se crean archivos LOB durante una operación de exportación, los nombres de archivo se crean añadiendo el nombre base actual de esta lista a la vía de acceso actual (de lob-path). A continuación, debe añadir un número de secuencia de 3 dígitos y el identificador de tres caracteres lob. Por ejemplo, si la vía de acceso LOB actual es el directorio /u/foo/lob/path/ y el nombre de archivo LOB actual es bar, los archivos LOB que se crean son /u/foo/lob/path/bar.001.lob, /u/foo/lob/path/bar.002.lob y, así, sucesivamente. El número de secuencia de 3 dígitos en el nombre de archivo LOB crece a 4 dígitos después de utilizarse el 999, el número de 4 dígitos crece a 5 dígitos cuando se utiliza el 9999 y, así, sucesivamente.

XML TO vía-xml
Especifica una o más vías de acceso a los directorios en los que deben almacenarse los archivos XML. Hay, al menos, un archivo por vía de acceso XML, y cada archivo contiene al menos una instancia de modelo de datos XQuery (XDM). Si se especifica más de una vía de acceso, las instancias de XDM se distribuyen uniformemente entre las vías de acceso.
XMLFILE nombrearchivo
Especifica uno o más nombres de archivo base para los archivos XML. Cuando se ha agotado el espacio de nombres para el primer nombre, se utiliza el segundo nombre y así sucesivamente.

Al crear archivos XML durante una operación de exportación, los nombres de archivo se crean añadiendo el nombre base actual de esta lista a la vía de acceso actual (de xml-path). A continuación, debe añadir un número de secuencia de 3 dígitos y el identificador de tres caracteres xml. Por ejemplo, si la vía de acceso de XML actual es el directorio /u/foo/xml/path/ y el nombre de archivo XML actual es bar, los archivos XML que se han creado son /u/foo/xml/path/bar.001.xml, /u/foo/xml/path/bar.002.xml y, así, sucesivamente.

MODIFIED BY mod-tipoarchivo
Especifica opciones de modificador de tipo de archivo. Consulte Modificadores de tipo de archivo para el programa de utilidad de exportación.
XMLSAVESCHEMA
Especifica que la información del esquema XML se debe guardar para todas las columnas XML. Para cada documento XML exportado que se haya validado con un esquema XML cuando se insertó, el identificador de SQL completo de dicho esquema se almacena como un atributo (SCH) dentro del especificador de datos XML (XDS) correspondiente. Si el documento exportado no se ha validado con respecto a un esquema XML, no se incluirá un atributo SCH en el correspondiente XDS.

Las partes de esquema y nombre del identificador SQL se almacenan como valores "OBJECTSCHEMA" y "OBJECTNAME" en la fila de la tabla de catálogo SYSCAT.XSROBJECTS correspondiente al esquema XML.

La opción XMLSAVESCHEMA no es compatible con las secuencias XQuery que no producen documentos XML bien formados.

METHOD N nombre-columna
Especifica uno o más nombres de columna que se deben utilizar en el archivo de salida. Si no se especifica este parámetro, se utilizan los nombres de columna de la tabla. Este parámetro solo es válido para archivos IXF, pero no es válido cuando se exportan datos jerárquicos.
sentencia-select
Especifica la sentencia SELECT o XQUERY que devuelve los datos que se van a exportar. Si la sentencia provoca un error, se grabará un mensaje en el archivo de mensajes (o en la salida estándar). Si el código de error es uno de SQL0012W, SQL0347W, SQL0360W, SQL0437W o SQL1824W, la operación de exportación continuará; de lo contrario, se detendrá.
Si la sentencia SELECT se especifica como SELECT * FROM nombre_tabla y la tabla contiene columnas ocultas implícitamente, debe especificar explícitamente si los datos para las columnas ocultas han de incluirse en la operación de exportación. Utilice uno de los métodos siguientes para indicar si se incluyen los datos para columnas ocultas:
  • Utilice uno de los modificadores de tipo de archivo de columnas ocultas: especifique implicitlyhiddeninclude cuando la exportación contenga datos para las columnas ocultas o especifique implicitlyhiddenmissing cuando la exportación no los contenga.
    db2 export to t.del of del modified by implicitlyhiddeninclude
       select * from t
  • Utilice la variable de registro DB2_DMU_DEFAULT en el lado del cliente para establecer el comportamiento por omisión que ha de aplicarse cuando los programas de utilidad de movimiento de datos detecten tablas con columnas ocultas implícitamente.
    db2set DB2_DMU_DEFAULT=IMPLICITLYHIDDENINCLUDE
    db2 export to t.del of del select * from t 
HIERARCHY STARTING nombre-subtabla
Mediante el uso del orden transversal por omisión (orden OUTER para archivos ASC o DEL, o el orden almacenado en archivos de datos PC/IXF), exporte una subjerarquía empezando por sub-table-name.
HIERARCHY lista-orden-transversal
Exporte una subjerarquía utilizando el orden transversal especificado. Todas las subtablas deben listarse de modo PRE-ORDER. El primer nombre de subtabla se utiliza como nombre de tabla de destino para la sentencia SELECT.
MESSAGES ON SERVER
Especifica que se va a guardar el archivo de mensaje que se ha creado en el servidor mediante el mandato EXPORT. El conjunto de resultados devuelto incluye las dos columnas siguientes: MSG_RETRIEVAL y MSG_REMOVAL. MSG_RETRIEVAL es la sentencia SQL que es necesaria para recuperar todos los mensajes de aviso y error que se producen durante esta operación. MSG_REMOVAL es la sentencia SQL que es necesaria para borrar los mensajes.

Si esta cláusula no se especifica, se suprime el archivo de mensaje cuando ADMIN_CMD devuelve un resultado al interlocutor. La columna MSG_RETRIEVAL y MSG_REMOVAL del conjunto de resultados contiene valores nulos.

Con o sin la cláusula, el ID de usuario delimitado, o el grupo primario del propietario de la instancia, debe tener la autoridad para crear archivos bajo el directorio indicado por la variable de registro DB2_UTIL_MSGPATH, así como el directorio donde se van a exportar los datos.

Ejemplo

El siguiente ejemplo muestra cómo exportar información de la tabla STAFF de la base de datos SAMPLE al archivo myfile.ixf. La salida tiene un formato IXF. Debe estar conectado a la base de datos SAMPLE antes de emitir el mandato.
CALL SYSPROC.ADMIN_CMD ('EXPORT to /home/user1/data/myfile.ixf 
   OF ixf MESSAGES ON SERVER select * from staff')

Notas de uso

  • Cualquier vía de acceso que se utiliza en el mandato EXPORT debe ser una vía de acceso completa válida en el servidor.
  • Si una tabla contiene columnas LOB, al menos, se debe especificar una vía de acceso de LOB completa y un nombre de LOB, utilizando las cláusulas LOBS TO y LOBFILE.
  • El programa de utilidad de exportación emite una sentencia COMMIT al principio de la operación, que con conexiones de tipo 2, provoca que el procedimiento devuelva SQL30090N con el código de razón 2.
  • Al exportar de una base de datos UCS-2 a un archivo ASCII (DEL) delimitado, todos los datos de carácter se convierten a la página de códigos que está en vigor donde se ejecuta el procedimiento. Los datos de tipo serie y los de tipo gráfico se convierten a la misma página de códigos SBCS o MBCS del servidor.
  • Asegúrese de completar todas las operaciones de tabla y liberar todos los bloqueos antes de iniciar una operación de exportación. Este paso se puede realizar emitiendo una sentencia COMMIT después de cerrar todos los cursores abiertos WITH HOLD, o emitiendo ROLLBACK.
  • Se pueden utilizar alias de tabla en la sentencia SELECT.
  • Es posible que aparezca el mensaje SQL27981W cuando no parezca que sea aplicable, como cuando la tabla EXPORT no está particionada. Puede pasar por alto este aviso con seguridad en este caso. Es posible que se devuelva este mensaje de aviso si la sentencia SELECT del mandato EXPORT incluye la palabra ' from ' antes de la palabra clave FROM de SQL.
  • Los mensajes que se colocan en el archivo de mensaje incluyen la información devuelva del servicio de recuperación de mensajes. Cada mensaje empieza en una línea nueva.
  • La importación PC/IXF se debe utilizar para trasladar datos entre bases de datos. Si los datos de caracteres que contienen separadores de fila se exportan a un archivo ASCII (DEL) delimitado y son procesados por un programa de transferencia de texto, los campos que contienen los separadores de fila se reducen o se amplían.
  • El paso de copia de archivo no es necesario si se puede acceder a las bases de datos fuente y destino desde el mismo cliente.
  • Db2 Connect se puede utilizar para exportar tablas de servidores DRDA como, por ejemplo, Db2 para z/OS, Db2 para VM y VSE, y Db2 para OS/400. Sólo se soporta la exportación PC/IXF.
  • Al exportar al formato IXF, si los identificadores exceden el tamaño máximo soportado por el formato IXF, la exportación se realiza correctamente. Sin embargo, el archivo de datos resultante no puede ser utilizado por una operación de importación posterior utilizando la modalidad CREATE (SQL27984W).
  • Al exportar al formato IXF, el programa de utilidad de exportación no mantiene los metadatos de tabla organizado por columnas que son necesarios para volver a crear la tabla organizado por columnas durante una operación de importación posterior utilizando la modalidad CREATE.
  • Al exportar a un disquete en Windows y si la tabla que tiene más datos que la capacidad de un solo disquete, el sistema solicita otro disquete. Se generan archivos PC/IXF de varias partes (también conocidos como archivos PC/IXF de varios volúmenes, o archivos PC/IXF de división lógica) y se almacenan en disquetes separadas. En cada archivo, con la excepción del último, hay un registro CONTINUATION RECORD escrita de Db2 (o un registro "AC" de forma abreviada). Este registro indica que los archivos se dividen de forma lógica y muestra dónde buscar el siguiente archivo. Los archivos se pueden transferir a un sistema AIX para que los lean los programas de utilidad de importación y carga. El programa de utilidad de exportación no creará archivos PC/IXF de múltiples componentes cuando se invoque desde un sistema AIX. Para ver detalles sobre el uso, consulte el mandato IMPORT o el mandato LOAD.
  • El programa de utilidad de exportación almacena el atributo NOT NULL WITH DEFAULT de la tabla en un archivo IXF, si la sentencia SELECT proporcionada tiene el formato SELECT * FROM nombre_tabla.
  • Cuando se exportan tablas con tipo, las sentencias de subselección solo se pueden expresar especificando el nombre de tabla de destino y la cláusula WHERE. No se puede seleccionar la selección completa y select-statement cuando se exporta una jerarquía.
  • Para formatos de archivo distintos a IXF, se recomienda que especifique la lista de orden transversal. Esta lista indica a Db2 cómo atravesar la jerarquía y qué subtablas exportar. Si no se especifica dicha lista, se exportan todas las tablas de la jerarquía y el orden por omisión es el orden de OUTER. La alternativa es utilizar el orden por omisión, que es el orden proporcionado por la función OUTER.
  • Utilice el mismo orden transversal durante una operación de importación. El programa de utilidad de carga no soporta la carga de jerarquías o de subjerarquías.
  • Cuando se exportan datos de una tabla que tiene filas protegidas, las credenciales LBAC que ostenta el ID de autorización de sesión podrían limitar las filas que se han exportado. Si el ID de autorización de sesión no tiene acceso de lectura sobre las filas, no se exportarán. No se proporciona ningún código de error ni de aviso.
  • Si las credenciales LBAC que ostenta el ID de autorización de sesión no permiten leer de una o varias columnas protegidas incluidas en la exportación, la exportación falla y se devuelve un error (SQLSTATE 42512).
  • Al ejecutar programas de utilidad de movimiento de datos como, por ejemplo, export y db2move, el compilador de consultas podría determinar que la consulta subyacente se ejecuta de forma más eficaz en un MQT que la tabla o tablas base. En este caso, la consulta se ejecuta en un MQT con la renovación diferida, y el resultado de los programas de utilidad podrían no representar los datos de forma precisa en la tabla subyacente.
  • Los paquetes de exportación se enlazan utilizando el formato DATETIME ISO. De esta forma, todos los valores de indicación de fecha y hora se convierten al formato ISO cuando se convierten a una representación de serie. Puesto que los paquetes de CLP se enlazan utilizando el formato DATETIME LOC (formato específico de entorno local), podría ver un comportamiento incoherente entre CLP y la exportación, si el formato CLP DATETIME es diferente del formato ISO. Por ejemplo, la sentencia SELECT siguiente podría devolver resultados esperados:
       db2 select col2 from tab1 where char(col2)='05/10/2005';
          COL2
          ----------
          05/10/2005
          05/10/2005
          05/10/2005
          3 registro(s) seleccionado(s).
    Pero un mandato de exportación que utiliza la misma cláusula select no lo hará:
       db2 export to test.del of del select col2 from test 
       where char(col2)='05/10/2005';
          Número de filas exportadas: 0
    Ahora, si se sustituye el formato de fecha LOCALE por el formato ISO, se producen los resultados previstos:
       db2 export to test.del of del select col2 from test
       where char(col2)='2005-05-10';
          Número de filas exportadas: 3

Información de conjunto de resultados

El estado de la ejecución del mandato se devuelve en el área de comunicaciones SQL (SQLCA) obtenida a partir de la sentencia CALL. Si la ejecución es satisfactoria, el mandato devuelve información adicional en conjuntos de resultados, de la siguiente manera:
Tabla 1. Conjunto de resultados devuelto por el mandato EXPORT
Nombre de columna Tipo de datos Descripción
ROWS_EXPORTED BIGINT Número total de filas exportadas.
MSG_RETRIEVAL VARCHAR(512) Sentencia SQL que se utiliza para recuperar mensajes creados por este programa de utilidad. Por ejemplo:
SELECT SQLCODE, MSG
   FROM TABLE (SYSPROC.ADMIN_GET_MSGS
   ('3203498_txu')) AS MSG
MSG_REMOVAL VARCHAR(512) Sentencia SQL que se utiliza para borrar mensajes creados por este programa de utilidad. Por ejemplo:
CALL SYSPROC.ADMIN_REMOVE_MSGS
   ('3203498_txu')

Modificadores de tipo de archivo para el programa de utilidad de exportación

Tabla 2. Modificadores de tipo de archivo válidos para el programa de utilidad de exportación: Todos los formatos de archivo
Modificador Descripción
lobsinfile lob-path especifica la vía de acceso de los archivos que contienen datos LOB.

Cada vía de acceso contiene por lo menos un archivo que contiene por lo menos un LOB al que apunta un Especificador de ubicación de LOB (LLS) en el archivo de datos. El LLS es una representación de serie de la ubicación de un LOB en un archivo que está almacenado en la vía de acceso de archivo LOB. El formato de un LLS es filename.ext.nnn.mmm/, donde filename.ext es el nombre del archivo que contiene el LOB, nnn es el desplazamiento en bytes del LOB dentro del archivo y mmm es la longitud del LOB en bytes. Por ejemplo, si la serie db2exp.001.123.456/ se almacena en el archivo de datos, el LOB está en un desplazamiento 123 en el archivo db2exp.001 y tiene 456 bytes de longitud.

Si especifica el modificador lobsinfile cuando se utiliza EXPORT, los datos LOB se colocan en las ubicaciones especificadas por la cláusula LOBS TO. De lo contrario, se envían datos LOB al directorio del archivo de datos. La cláusula LOBS TO especifica una o más vías de acceso a los directorios en los que deben almacenarse los archivos LOB. Hay, al menos, un archivo por vía de acceso de LOB y cada archivo contiene al menos un LOB. Las opciones LOBS TO o LOBFILE activan de forma implícita el comportamiento de LOBSINFILE.

Para indicar un LOB nulo, entre el tamaño como -1. Si el tamaño se especifica como 0, se trata como un LOB de longitud 0. Para los LOB nulos de longitud -1, se pasan por alto el desplazamiento y el nombre de archivo. Por ejemplo, el LLS de un LOB nulo puede ser db2exp.001.7.-1/.

implicitlyhiddeninclude Este modificador se utiliza con una consulta SELECT * y especifica que han de exportarse los datos de las columnas ocultas implícitamente, aunque esos datos no estén incluidos en el resultado de la consulta SELECT *. Este modificador no se puede utilizar con el modificador implicitlyhiddenmissing.

Si se utiliza este modificador y la consulta no es una consulta SELECT *, se devuelve un error (SQLCODE SQL3526N).

Este modificador no se aplica a la columna RANDOM_DISTRIBUTION_KEY oculta de una tabla de distribución aleatoria que utiliza el método aleatoriedad por generación. Se debe hacer referencia a la columna en la consulta de forma explícita para que se incluya en los datos exportados.

implicitlyhiddenmissing Este modificador se utiliza con las consultas SELECT * y especifica que no han de exportarse los datos de las columnas ocultas implícitamente. Este modificador no se puede utilizar con el modificador implicitlyhiddeninclude.

Si se utiliza este modificador y la consulta no es una consulta SELECT *, se devuelve un error (SQLCODE SQL3526N).

Este modificador no se aplica a la columna RANDOM_DISTRIBUTION_KEY oculta de una tabla de distribución aleatoria que utiliza el método aleatoriedad por generación. Se debe hacer referencia a la columna en la consulta de forma explícita para que se incluya en los datos exportados.

xmlinsepfiles Cada instancia XQuery Data Model (XDM) se graba en un archivo aparte. Por omisión, se concatenan varios valores juntos en el mismo archivo.
lobsinsepfiles Cada valor LOB se graba en un archivo aparte. Por omisión, se concatenan varios valores juntos en el mismo archivo.
xmlnodeclaration Las instancias XDM se graban sin un identificador de declaración de XML. Por omisión, las instancias XDM se exportan con un identificador de declaración de XML al principio que incluye un atributo de codificación.
xmlchar Las instancias XDM se graban en la página de códigos de caracteres. La página de códigos de caracteres es el valor especificado por el modificador de tipo de archivo codepage o la página de códigos de aplicación, si no se ha especificado. Por omisión, las instancias de XDM se graban en Unicode.
xmlgraphic Si el modificador xmlgraphic se ha especificado con el mandato EXPORT, el documento XML exportado se codifica en la página de códigos UTF-16 independientemente de la página de códigos de la aplicación o el modificador de tipo de archivo codepage.
Tabla 3. Modificadores de tipo de archivo válidos para el programa de utilidad de exportación: Formato de archivo DEL (ASCII delimitado)
Modificador Descripción
chardelx x es un delimitador de serie de un solo carácter. El valor por omisión son las comillas dobles ("). El carácter especificado se utiliza en lugar de las comillas dobles para encerrar una serie de caracteres.2 Si desea especificar de forma explícita la comillas dobles como delimitador de serie de caracteres, debe especificarlo del modo siguiente:
   modified by chardel""
También se pueden especificar las comillas simples (') como delimitador de serie de caracteres del modo siguiente:
   modified by chardel''
codepage=x x es una serie de caracteres ASCII. El valor se interpreta como la página de códigos de los datos del archivo de salida. Convierte los datos de caracteres de esta código de aplicación de la página de códigos de la aplicación durante la operación de exportación.

Para DBCS (gráfico) puro, DBCS mixto y EUC, los delimitadores están restringidos al rango de x00 a x3F, inclusive.

coldelx x es un delimitador de columna de un solo carácter. El valor por omisión es una coma (,). Se utiliza el carácter especificado en lugar de una coma para indicar el final de una columna.2
En el ejemplo siguiente, coldel; hace que el programa de utilidad de exportación utilice el carácter de punto y coma (;) como un delimitador de columna para los datos exportados:
   db2 "export to temp of del modified by coldel;
      select * from staff where dept = 20"
decplusblank Carácter de signo más. Hace que a los valores decimales positivos se les ponga un espacio en blanco como prefijo en lugar de un signo más (+). La acción por omisión es poner a los valores decimales positivos un signo más como prefijo.
decptx x es un sustituto de un solo carácter del punto como carácter de coma decimal. El valor por omisión es un punto (.). Se utiliza el carácter especificado como carácter de coma decimal.2
nochardel Los datos de columna no están rodeados por delimitadores de carácter. Esta opción no se debe especificar si los datos se van a importar o cargar utilizando Db2. Se proporciona para dar soporte a archivos de datos de proveedores que no tienen delimitadores de caracteres. El uso incorrecto podría causar la pérdida o la corrupción de los datos.

Esta opción no se puede especificar con chardelx o nodoubledel. Estas opciones se excluyen mutuamente.

nodoubledel Suprime el reconocimiento de los delimitadores de caracteres dobles.2
striplzeros Elimina los ceros iniciales de todas las columnas decimales exportadas.
Consideremos el ejemplo siguiente:
   db2 create table decimalTable ( c1 decimal( 31, 2 ) )
   db2 insert into decimalTable values ( 1.1 )
   
   db2 export to data of del select * from decimalTable
    
   db2 export to data of del modified by STRIPLZEROS 
      select * from decimalTable
En la primera operación de exportación, el contenido de los datos de archivo exportados es +00000000000000000000000000001.10. En la segunda operación, que es idéntica a la primera, excepto por el modificador striplzeros, e l contenido de los datos del archivo exportados es +1.10.
timestampformat="x" x es el formato de la indicación de fecha y hora en el archivo fuente.4 Los elementos de indicación de fecha y hora son:
YYYY
Año (4 dígitos dentro del rango 0000 - 9999)
M
Mes (1 o 2 dígitos dentro del rango 1 - 12)
MM
Mes (2 dígitos dentro del rango 01 - 12; se excluyen mutuamente con M y MMM)
MMM
Mes (abreviatura de tres letras no sensible a las mayúsculas y minúsculas para el nombre del mes; se excluye mutuamente con M y MM)
D
Día (1 o 2 dígitos dentro del rango 1 - 31)
DD
Día (2 dígitos dentro del rango 01 - 31; se excluyen mutuamente con D)
DDD
Día del año (3 dígitos dentro del rango 001 - 366; se excluyen mutuamente con otros elementos de día o mes)
H
Hora (1 o 2 dígitos dentro del rango 0 - 12 para un sistema de 12-horas, y 0 - 24 para un sistema de 24-horas)
HH
Hora (2 dígitos dentro del rango 00 - 12 para un sistema de 12-horas, y 00 - 24 para un sistema de 24-horas, se excluyen mutuamente con H)
M
Minuto (1 o 2 dígitos dentro del rango 0 - 59)
MM
Minuto (2 dígitos dentro del rango 00 - 59; se excluyen mutuamente con M, minuto)
S
Segundo (1 o 2 dígitos dentro del rango 0 - 59)
SS
Segundo (2 dígitos dentro del rango 00 - 59; se excluyen mutuamente con S)
SSSSS
Segundo del día después de la medianoche (5 dígitos dentro del rango 00000 - 86400; se excluyen mutuamente con otros elementos de tiempo)
U (1 - 12 veces)
Segundos fraccionales (el número de apariciones de U representa el número de dígitos con cada dígito dentro del rango 0 - 9)
TT
Indicador de meridiano (AM o PM)
A continuación se muestra un ejemplo de un formato de indicación de la hora:
   "AAAA/MM/DD HH:MM:SS.UUUUUU"

El elemento MMM genera los valores siguientes: 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov' y 'Dic'. 'Ene' es igual al mes 1, y 'Dic' es igual al mes 12.

El ejemplo siguiente ilustra cómo exportar datos que contienen formatos de indicación de fecha y hora definidos por el usuario de una tabla llamada 'schedule':
   db2 export to delfile2 of del
      modified by timestampformat="aaaa.mm.dd hh:mm tt"
      select * from schedule
Tabla 4. Modificadores de tipo de archivo válidos para el programa de utilidad de exportación: Formato de archivo IXF
Modificador Descripción
codepage=x x es una serie de caracteres ASCII. El valor se interpreta como la página de códigos de los datos del archivo de salida. Convierte los datos de tipo carácter de esta página de códigos a la página de códigos de la aplicación durante la operación de exportación.

Para DBCS (gráfico) puro, DBCS mixto y EUC, los delimitadores están restringidos al rango de x00 a x3F, inclusive.

Nota:
  1. El programa de utilidad de exportación no emite ningún aviso si se intentan utilizar tipos de archivo no soportados con la opción MODIFIED BY. Si se intenta este paso, la operación de exportación falla y se devuelve un código de error.
  2. En la sección Consideraciones sobre el delimitador para mover datos se muestran las restricciones que se aplican a los caracteres que se pueden utilizar como alteración temporal de los delimitadores.
  3. El programa de utilidad de exportación graba normalmente los
    • datos de fecha en formato AAAAMMDD
    • datos char(fecha) en formato "AAAA-MM-DD"
    • datos de hora en formato "HH.MM.SS"
    • datos de indicación de fecha y hora en formato "AAAA-MM-DD-HH.MM.SS.uuuuuu"
    Los datos incluidos en cualquier columna de fecha y hora que se han especificado en la sentencia SELECT para la operación de exportación también están en estos formatos.
  4. Para formatos de indicación de fecha y hora, se debe tener cuidado para evitar la ambigüedad entre los descriptores de mes y minuto, puesto que ambos utilizan la letra M. Un campo de mes debe estar junto a otros campos de fecha. Un campo de minuto debe estar junto a otros campos de tiempo. He aquí unos formatos ambiguos de indicación de fecha y hora:
       "M" (puede ser mes o minuto)
       "M:M" (¿Cuál es cada uno?)
       "M:AAAA:M" (Ambos se interpretan como mes.)
       "S:M:AAAA" (adyacente a un valor de hora y un valor de fecha)
    En casos ambiguos, el programa de utilidad informará con mensaje de error y la operación falla.
    He aquí unos formatos no ambiguos de indicación de fecha y hora:
       "M:AAAA" (Mes)
       "S:M" (Minuto)
       "M:AAAA:S:M" (Mes....Minuto)
       "M:H:AAAA:M:D" (Minuto....Mes)
  5. Todas las instancias de XDM se graban en archivos XML que están separados del archivo de datos principal, incluso si no se han especificado las cláusulas XMLFILE y XML TO. Por omisión, los archivos XML se graban en la vía de acceso del archivo de datos exportado. El nombre base por omisión para el archivo XML es el nombre del archivo de datos exportado con la extensión ".XML" añadida.
  6. Todas las instancias XDM se graban con una declaración de XML al principio que incluye un atributo de codificación, a menos que se especifique el modificador de tipo de archivo XMLNODECLARATION.
  7. Por omisión, todas las instancias de XDM se graban en Unicode, a menos que se especifique el modificador de tipo de archivo XMLCHAR o XMLGRAPHIC.
  8. La vía de acceso por omisión para datos XML y datos LOB es la vía de acceso del archivo de datos principal. El nombre base del archivo XML por omisión es el archivo de datos principal. El nombre base del archivo LOB por omisión es el archivo de datos principal. Por ejemplo, si el archivo de datos principal es:
    /mypath/myfile.del
    La vía de acceso por omisión para datos XML y datos LOB es:
    /mypath"
    El nombre base del archivo XML por omisión es:
    myfile.del
    El nombre base del archivo LOB por omisión es:
    myfile.del

    Debe especificarse el modificador de tipo de archivo LOBSINFILE para poder generar los archivos LOB.

  9. El programa de utilidad de exportación añade un identificador numérico a cada archivo LOB o archivo XML. El identificador empieza como un valor de 3 dígitos, valor de secuencia rellenado 0, que empieza por:
    .001
    Después del archivo LOB o archivo XML número 999, el identificador ya no aparecerá con ceros de relleno (por ejemplo, el archivo LOG o archivo XML número 1000 tendrá una extensión:
    .1000
    Después del identificador numérico hay un identificador de tipo de carácter de tres dígitos que representa el tipo de datos, ya sea:
    .lob
    o
    .xml
    Por ejemplo, un archivo LOB generado tendría un nombre con formato:
    myfile.del.001.lob
    y un archivo XML generado tendrían un nombre con el formato:
    myfile.del.001.xml
  10. Es posible hacer que el programa de utilidad de exportación exporte las instancias de XDM que no sean documentos con formato correcto especificando una XQuery. Sin embargo, no puede importar o cargar estos documentos exportados directamente en una columna XML, puesto que las columnas XML solo pueden contener documentos completos.