XML vers Table v.2
- 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.
| Champ | Description |
|---|---|
| Type | Type de données (CHAINE, NUMÉRIQUE, DATE, DATE ET HEURE). |
| Précision | Longueur maximale (chaînes) ou précision numérique. |
| Alias | Nom de la colonne dans la base de données. |
| Expression JSONPath | Chemin 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 :
| Bouton | Action |
|---|---|
| Enregistrer | Enregistre la structure définie |
| Importer | Importe une structure existante |
| Exporter | Exporte 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 :
| Tipo | Precisione | Alias | Espressione JSONPath |
|---|---|---|---|
| STRINGA | 1000 | task_name | $.task_name |
| STRINGA | 1000 | status | $.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"
}
}