Mettre à jour une table
Cet exemple vous montre comment mettre à jour les données d'une table de base de données existante avec des données provenant d'une source XML. L'exemple utilise les fichiers suivants :
•altova-cmpy.xml — contient les données de source à insérer dans la base de données.
•Altova_Hierarchical.xsd — le schéma utilisé pour valider le fichier d'instance ci-dessus.
•altova.sqlite — la base de données cible à mettre à jour.
Tous les fichiers sont disponibles dans le dossier <Documents>\Altova\MapForce2023\MapForceExamples\. Ci-dessous, le chemin complet y menant sera omis, pour des raisons de simplicité.
Le mappage dans cet exemple modifie un fichier de base de données d'échantillon. Il est fortement recommande de sauvegarder la base de données originale et de commencer avec une nouvelle copie avant de suivre les étapes ci-dessous. Cela garantit que les exemples originaux ne sont pas contournés et que vous obtenez les mêmes résultats ci-dessous. Pour plus d'informations, voir Exécuter des mappages qui modifient les bases de données. |
L'objectif du mappage est de mettre à jour tous les enregistrements dans la table "Person" avec des instances de "Person" depuis le document XML. Chaque personne dans le fichier XML a un élément enfant PrimaryKey. Chaque personne dans la table "Person" a une colonne PrimaryKey. Seuls les enregistrements où une PrimaryKey d'une personne dans le fichier XML correspond à la PrimaryKey d'une personne dans la base de données doivent être mis à jour.
Pour atteindre l'objectif de mappage, nous allons suivre les étapes suivantes.
Étape 1: Insérer le composant XML source
•Dans le menu Insérer, cliquer sur Schéma XML/Fichier, et chercher Altova_Hierarchical.xsd. Lorsque vous êtes invité à fournir un fichier d'instance, chercher altova-cmpy.xml.
Étape 2: Insérer la base de données cible
•Dans le menu Insérer, cliquer sur Base de données, et suivre les étapes de l'assistant pour vous connecter à Altova.sqlite. Voir Ajouter une Base de données.
Étape 3: Tirer les connexions
•Tirer les connexions de mappage comme affiché ci-dessous.
Étape 4: Configurer l'action de Mise à jour
1.Dans le composant, cliquer sur la touche Action: Insérer ( ) à côté de la table "Person".
2.À côté de Action sur enregistrement, sélectionner Mettre à jour si... . Cela transforme l'action de table de base de données dans une action de mise à jour conditionnelle. C'est à dire, l'enregistrement actuel sera uniquement mis à jour lorsqu'une condition est satisfaite (voir étape suivante).
3.À côté de PrimaryKey, choisir la valeur equal, comme affiché ci-dessous. Cela définit la condition de mise à jour : c'est à dire que l'enregistrement de la base de données sera uniquement mise à jour lorsque sa valeur PrimaryKey est égale à la valeur PrimaryKey provenant du mappage.
Dans cet exemple, l'opérateur d'égalité est appliqué au champ PrimaryKey, ce qui constitue un scénario probable lors d'une mise à jours de bases de données. Veuillez noter que des conditions peuvent aussi être définies dans d'autres champs qui ne sont pas nécessairement des clés primaires. Par exemple, en choisissant equal à côté des champs First et Last, vous ne mettriez à jour que les enregistrements pour lesquels le prénom et le nom sont égaux à ceux dans le XML source.
En option, cocher la case NULL equal. Dans cet exemple, cette case à cocher n'est pas pertinente car ni le champ PrimaryKey se trouvant dans le XML de source ni le champ PrimaryKey dans la base de données ne contient de valeurs null. Néanmoins, vous devriez cocher cette case si vos données contiennent des valeurs null, et si vous souhaitez traiter ces valeurs comme égales ; sinon, vous risquez d'obtenir des résultats indésirables. Pour plus d'informations, voir Gérer des valeurs null dans les actions de table de base de données.
4.Cliquer sur OK pour fermer le dialogue. Veuillez noter que, une fois que vous serez retourné au mappage, la touche Action: Insérer s'est transformée en une touche Action: Mise à jour (
). Cela indique qu'une action de mise à jour est configurée pour se avoir lieu pour cette table.
Étape 5: Consulter le mappage et mettre à jour la base de données
Cliquer sur l'onglet Sortie pour consulter le mappage. Un script SQL est généré, contenant des actions à exécuter par rapport à la base de données. Le script n'a pas encore modifié la base de données ; elle est uniquement destinée à la prévisualisation. Pour exécuter le script par rapport à la base de données :
•Dans le menu Sortie, cliquer sur Exécuter Script SQL
Note : | L'exécution du script SQL directement depuis MapForce est juste un des moyens mis à disposition pour mettre à jour la base de données, voir aussi Exécuter des mappages qui modifient des bases de données. |