Saltar al contenido principal

XML a Tabla v.2

Configuración actual de la tarea XML a Tabla v.2 en el Diseñador de Flujos de Trabajo
  • Tipo de tarea: xml-to-table_v2

Descripción

La tarea "XML a Tabla v.2" permite importar datos en formato XML directamente en una tabla de una base de datos soportada. El sistema convierte internamente la estructura XML para mapear los valores a los campos de la tabla de destino.

1. Conexión a base de datos

En esta sección se definen la fuente de datos y las coordenadas de la base de datos.

Tabla objetivo (Origen Conexión)

Selecciona cómo configurar el acceso a la base de datos:

  • Manuale: inserción manual de host, puerto y credenciales.
  • Environment: utilización de un entorno de conexión preconfigurado.

Conexión Entorno

Selecciona del desplegable el entorno deseado (ej. Example_Connection). Los parámetros de autenticación se poblarán automáticamente.

Dataset de Entrada

Introducir el contenido XML a procesar.

  • Se pueden utilizar parámetros dinámicos (ej. #>Run Script Python xml.result<#) para conectar la salida de una tarea previa que genera o recupera el XML.

Tipo de Base de Datos

Selecciona el DBMS: PostgreSQL, SQLserver, MySQL, Oracle, SAP HANA.

Conexión SSL

Indica si la conexión requiere SSL (SI / NO).

Autenticación

Completa los campos Host, Puerto, Nombre DB, User y Password (botón Establecer contraseña) si operas en modo manual.

2. Gestión de tabla

Tabla objetivo (Acción)

Define la operación a ejecutar sobre la base de datos:

  • Crear tabla: crea una nueva tabla.
  • Tabla existente: inserta datos en una tabla ya presente. Se puede elegir entre:
  • Append: añade los registros.
  • Truncate Insert: vacía la tabla antes de insertar los nuevos datos.
  • Crear tabla si no existe: crea la tabla solo si no se ha detectado, evitando errores en ejecuciones repetidas.

Nombre de tabla objetivo

Especifica el nombre de la tabla en la base de datos (ej. example_table).

3. Estructura tabellare

En esta pestaña se define la mapeo entre los nodos del XML y las columnas de la tabla. Aunque el input es XML, para la mapeo de los campos se utiliza la sintaxis JSONPath sobre la representación interna del documento.

CampoDescripción
TipoTipo de dato (STRINGA, NUMERICO, DATA, FECHA Y HORA).
PrecisionLongitud máxima (cadenas) o precisión numérica.
AliasNombre de la columna en la base de datos.
Expresión JSONPathCamino para extraer el valor del nodo XML (ej. $.task_name).

Gestión de la Estructura de la Tabla

En la parte inferior derecha de la Estructura de la Tabla se encuentran tres botones:

BotónAcción
GuardarGuarda la estructura definida
ImportarImporta una estructura existente
ExportarExporta la estructura definida

Esta funcionalidad permite guardar, exportar o reutilizar las mapeos, evitando la compilación manual de los campos y reduciendo el riesgo de errores.

Nota Técnica

Visibilidad: Las estructuras guardadas en el sistema son visibles exclusivamente al usuario que las ha creado. Profundización: Para una descripción detallada de todas las opciones y la lógica de funcionamiento, haga referencia a la página Table Structure.

4. Ejemplo de configuración

Dado el siguiente XML en entrada:

<tasks>
<task>
<task_name>Generate Summary</task_name>
<status>pending</status>
</task>
</tasks>

Estructura tabellare

La Estructura de la Tabla se configurará como sigue:

TipoPrecisioneAliasEspressione JSONPath
STRINGA1000task_name$.task_name
STRINGA1000status$.status

Parámetros de Salida

  • exitStatus: Código de estado (0 = Éxito)
  • rowCount: Número de registros insertados (ej. 3)
  • targetTable: Nombre de la tabla de destino
  • DataExportCsv / DataExportJson: Los datos importados formateados en los respectivos estándares
  • Dataset.NombreCampo: Valor del campo para su uso en un Iterator
  • DataColumn.NombreCampo: Cadena con todos los valores de la columna separados por coma (ej. pendiente, completado, en ejecución)
  • resultJson: Informe técnico completo de la operación

Ejemplo resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}