Altova MapForce 2025 Professional Edition

Relations locales dans les composants de source

Accueil Préc Haut Suivant

L'exemple suivant vous montre comment combiner des données retournées par une procédure stockée avec des données provenant d'une table dans la même base de données, à l'aide des relations locales.

 

Si vous ne l'avez pas encore fait précédemment, exécuter le script suivant pour créer la procédure stockée de démonstration dans la base de données "AdventureWorks". Vous pouvez y accéder depuis une fenêtre de requête de Microsoft SQL Server Management Studio, ou directement depuis le volet Requête BD de MapForce, voir Parcourir et interroger des bases de données. Dans tous les cas, veuillez vous assurer que votre compte d'utilisateur de base de données a la permission de créer des procédures stockées.

 

CREATE PROCEDURE HumanResources.uspGetAllEmployees
AS
  SELECT LastName, FirstName, JobTitle, Department
  FROM HumanResources.vEmployeeDepartment

 

La procédure stockée ci-dessus retourne l'information de l'employé depuis le mode vEmployeeDepartment. Les étapes suivantes vous montrent comment créer un mappage qui consomme les données retournées par cette procédure.

 

1.Se connecter à la base de données "AdventureWorks" depuis MapForce, comme décrit dans Ajouter des procédures stockées dans le mappage. Assurez-vous que votre compte d'utilisateur de base de données détient la permission de consulter et d'exécuter les procédures stockées.

2.Lorsque vous êtes invité à choisir des objets de base de données, choisir la table, choisir la table Department et la procédure stockée uspGetAllEmployees.

mf_sp_20

3.Cliquer sur la touche Afficher menu contextuel mf_ic_storedproc_menu située à côté de la procédure stockée et choisir Afficher nœuds en tant que cible.

4.Cliquer à nouveau sur la touche Afficher menu contextuel mf_ic_storedproc_menu, choisir Paramètres de procédure. Le dialogue "Structures Recordset" apparaît.

5.Cliquer sur Définir les paramètres d'entrée et appeler la procédure. Le dialogue "Évaluer la procédure stockée" apparaît.

mf_sp_06

6.Cliquer sur Exécuter, puis sur OK. La structure recordset ("RS1") est maintenant visible aussi bien dans le dialogue "Structures Recordset" que dans le mappage.

mf_sp_21

 

Définir les relations locales

À présent, il s'agit de définir une relation locale entre la colonne Department du recordset retourné et la colonne Name de la table Department.

 

1.Cliquer avec la touche de droite sur la barre de titre du composant de la base de données et choisir Ajouter/Supprimer/Éditer objets de base de données du menu contextuel.

2.Cliquer sur Ajouter/Éditer relations, puis cliquer sur Ajouter relation. Définir les relations comme indiqué ci-dessous.

mf_sp_22

3.Cliquer sur OK pour fermer le dialogue. Veuillez noter que la table Department devient un enfant du recordset RS1.

mf_sp_23

 

Achever le mappage

Grâce à la relation qui vient d'être créée, il est maintenant possible de mapper des données depuis le recordset combiné avec des données provenant de la table. Pour illustrer notre exemple, nous écrivons des données vers un fichier cible, comme suit :

 

1.Dans le menu Insérer, cliquer sur Schéma XML/Fichier et choisir le fichier suivant : <Documents>\Altova\MapForce2025\MapForceExamples\EmployeesWithDetails.xsd.

2.Lorsque vous êtes invité à fournir un échantillon d'instance XML, cliquer sur Sauter.

3.Tracer les connexions de mappage comme indiqué ci-dessous.

mf_sp_24

Le mappage illustré ci-dessus écrit des données depuis la base de données vers un fichier XML cible. Les données de source sont constituées par une combinaison de données extraites par la procédure stockée avec des données extraites directement depuis une table. Le mappage utilise la fonction concat pour produire un string qui inclut le nom du département, suivi d'un tiret et suivi du nom du groupe.

 

Pour consulter le mappage, cliquer sur la touche Sortie et observer le résultat de mappage dans le volet Sortie, par exemple :

mf_sp_25

© 2018-2024 Altova GmbH