Aller au contenu principal

XML vers Table v.2

Configuration actuelle de la tâche XML to Table v.2 dans le Workflow Designer
  • Type de tâche: xml-to-table_v2

Description

La tâche "XML vers Table v.2" permet de importer des données au format XML directement dans une table d'une base de données supportée. Le système convertie internement la structure XML pour mapper les valeurs sur les champs de la table de destination.

1. Connexion base de données

Dans cette section, vous définissez la source de données et les coordonnées de la base de données.

Table cible (Source Connexion)

Sélectionnez comment configurer l'accès à la base de données :

  • Manuel: saisie manuelle de l'hôte, du port et des identifiants.
  • Environnement: utilisation d'un environnement de connexion préconfiguré.

Connexion Environnement

Sélectionnez dans la liste déroulante l'environnement souhaité (par exemple, Example_Connection). Les paramètres d'authentification seront automatiquement remplis.

Dataset d'entrée

Entrez le contenu XML à traiter.

  • Vous pouvez utiliser des paramètres dynamiques (par exemple, #>Run Script Python xml.result<#) pour connecter la sortie d'une tâche précédente qui génère ou récupère l'XML.

Type de base de données

Sélectionnez le SGBD : PostgreSQL, SQLserver, MySQL, Oracle, SAP HANA.

Connexion SSL

Indiquez si la connexion nécessite SSL (OUI / NON).

Authentification

Remplissez les champs Hôte, Port, Nom DB, Utilisateur et Mot de passe (bouton Définir le mot de passe) si vous opérez en mode manuel.

2. Gestion table

Table cible (Action)

Définissez l'opération à effectuer sur la base de données :

  • Créer table: crée une nouvelle table.
  • Table existante: insère des données dans une table déjà présente. Vous pouvez choisir entre :
  • Ajouter: ajoute les enregistrements.
  • Supprimer les données: supprime les données de la table avant d'y insérer les nouvelles données.
  • Créer table si elle n'existe pas: crée la table uniquement si elle n'est pas détectée, évitant les erreurs lors des exécutions répétées.

Nom de la table cible

Spécifiez le nom de la table dans la base de données (par exemple, example_table).

3. Structure tabellaire

Dans cette onglet, vous définissez la correspondance entre les nœuds de l'XML et les colonnes de la table. Même si l'entrée est XML, pour la mise en correspondance des champs, vous utilisez la syntaxe JSONPath sur la représentation interne du document.

ChampDescription
TypeType de données (CHAINE, NUMÉRIQUE, DATE, DATE ET HEURE).
PrécisionLongueur maximale (chaînes) ou précision numérique.
AliasNom de la colonne dans la base de données.
Expression JSONPathChemin pour extraire la valeur du nœud XML (par exemple, $.task_name).

Gestion de la Structure de la Table

En bas à droite de la Structure tabellaire se trouvent trois boutons :

BoutonAction
EnregistrerEnregistre la structure définie
ImporterImporte une structure existante
ExporterExporte la structure définie

Cette fonctionnalité permet de sauvegarder, d'exporter ou de réutiliser les mappages, évitant la compilation manuelle des champs et réduisant le risque d'erreurs.

Note Technique

Visibilité: Les structures sauvegardées dans le système sont visibles uniquement par l'utilisateur qui les a créées. Approfondissement: Pour une description détaillée de toutes les options et de la logique de fonctionnement, faire référence à la page Table Structure.

4. Exemple de configuration

Donné le XML suivant en entrée :

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

Structure tabellaire

La Structure tabellaire sera configurée comme suit :

TipoPrecisioneAliasEspressione JSONPath
STRINGA1000task_name$.task_name
STRINGA1000status$.status

Paramètres de sortie

  • exitStatus: Code d'état (0 = Succès)
  • rowCount: Nombre d'enregistrements insérés (ex. 3)
  • targetTable: Nom de la table de destination
  • DataExportCsv / DataExportJson: Les données importées formatées dans les formats respectifs
  • Dataset.NomeCampo: Valeur du champ pour l'utilisation dans un Iterator
  • DataColumn.NomeCampo: Chaîne contenant toutes les valeurs de la colonne séparées par des virgules (ex. pending, done, running)
  • resultJson: Rapport technique complet de l'opération

Exemple resultJson

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