Altova MapForce 2024 Professional Edition

Cet exemple vous montre comment appeler une procédure qui prend des paramètres d'entrée et extrait des données de sortie de la base de données. Dans ce scénario, la procédure stockée est appelée comme pour un service Web ou une fonction et vous pouvez mapper des données extraites à tout autre composant cible pris en charge par MapForce.

 

Créons tout d'abord la procédure stockée de démonstration dans la base de données "AdventureWorks". Pour ce faire, exécuter le script ci-dessous par rapport à la base de données. Vous pouvez ce faire à partir d'une fenêtre de requête de Microsoft SQL Server Management Studio, ou directement depuis l'onglet Requête BD de MapForce, voir Parcourir et interroger des bases de données. Dans tous les cas, s'assurer que votre compte d'utilisateur de base de données a la permission de créer des procédures stockées.

 

CREATE PROCEDURE Production.uspSearchProducts
  @SearchString nvarchar(50)
  ,@MaxPrice money
  ,@ComparePrice money OUTPUT
AS
BEGIN
  SET NOCOUNT ON      
  SELECT pr.[Name], pr.ListPrice FROM [Production].[Product] pr
  WHERE pr.[Name] like @SearchString AND  pr.ListPrice < @MaxPrice
 
  SET @ComparePrice = @MaxPrice
  RETURN @ComparePrice
END

 

La procédure stockée ci-dessus extrait un recordset contenant des informations de produit. Elle prend deux paramètres en tant qu'entrée : un string avec le nom du produit (@SearchString) et le prix maximum du produit (@MaxPrice). Outre le recordset et le paramètre de retour par défaut, elle extrait aussi un paramètre de sortie (@ComparePrice).

 

Les étapes suivantes vous montrent comment créer un mappage qui consomme des données retournées par cette procédure.

 

1.Se connecter à la base de données "AdventureWorks" depuis MapForce, et ajouter la procédure stockée au mappage comme décrit dans la section Ajouter des procédures stockées dans le mappage. Veuillez vous assurer que votre compte utilisateur de base de données détienne la permission de consulter et d'exécuter des procédures stockées.

2.Cliquer sur la touche Afficher menu contextuel mf_ic_storedproc_menu située à côté de la procédure stockée et choisir Insérer appel avec paramètres. La procédure stockée apparaît maintenant en tant que composant séparé dans le mappage, à l'endroit où le côté gauche recense les paramètres d'entrée, et le côté droit contient les paramètres de retour et de sortie.

mf_sp_10

3.Cliquer à nouveau sur la touche Afficher menu contextuel mf_ic_storedproc_menu, choisir Éditer les structures de Recordset. Cela est nécessaire pour fournir à MapForce des informations concernant la structure du recordset retourné par la procédure. Le dialogue "Structures de Recordset" apparaît.

mf_sp_11

Le fait d'appeler une procédure stockée au moment de la conception peut présenter des effets secondaires (selon la mise en place de la procédure). Si vous ne souhaitez pas exécuter la procédure stockée au moment de la conception, ne pas cliquer sur Exécuter, comme décrit dans les étapes suivantes. Au lieu, définir le recordset attendu dans le dialogue "Structures de recordset", en ajoutant des recordsets et leurs colonnes associées manuellement. Utiliser les touches Ajouter recordset ou Ajouter colonne dans le dialogue "Structures de recordset".

 

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

mf_sp_12

5.Remplir les valeurs de paramètre comme indiqué ci-dessus et cliquer sur Exécuter.

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

7.À ce niveau, vous pouvez ajouter un composant cible dans lequel les données extraites seront rédigées. Dans cet exemple, les données seront rédigées dans un fichier CSV. Dans le menu Insérer, cliquer sur Fichier texte, et ajouter un composant CSV au mappage, voir Fichiers CSV et Texte. Ensuite tracer les connexions de mappage tel qu'illutré ci-dessous. Veuillez noter que les paramètres d'entrée de la procédure sont fournis par le biais de constante. Pour plus d'informations concernant les constantes, voir Ajouter une constante au mappage.

mf_sp_13

Vous pouvez maintenant consulter le mappage. Cliquer sur la touche Sortie et observez le résultat de mappage dans le volet Sortie, par exemple :

mf_sp_14

© 2018-2024 Altova GmbH