Partager via


Exécuter des procédures stockées dans SQL Server à l’aide de l’adaptateur SQL

Les procédures stockées Transact-SQL et CLR dans SQL Server sont exposées en tant qu’opérations dans l’adaptateur Microsoft BizTalk pour SQL Server sous le nœud Procédures lors de l’utilisation du plug-in Consume Adapter Service ou Add Adapter Service Reference Plug-in. Les noms d’opération exposés par l’adaptateur SQL sont identiques au nom de la procédure stockée dans SQL Server. Tous les paramètres de la procédure stockée sont exposés dans l’opération correspondante. Le paramètre OUT contient la valeur de retour de la procédure stockée. Le jeu de résultats de la procédure stockée est un tableau de DataSet. Pour plus d’informations sur DataSet, consultez https://go.microsoft.com/fwlink/?LinkId=196853. Les informations de schéma de l’objet cible sont obtenues dans le cadre du message de réponse au moment de l’exécution.

Toutefois, si vous souhaitez obtenir les informations de schéma de l’objet cible au moment de la conception, vous devez générer des schémas pour les procédures sous le nœud Procédures fortement typées dans le plug-in Consume Adapter Service ou Add Adapter Service Reference Plug-in. Notez que les mêmes procédures stockées sont exposées sous les nœuds Procédures et Procédures fortement typées . La valeur de retour de la procédure stockée est fortement typée, et pas seulement un tableau de DataSet. Comme les informations de schéma sont disponibles au moment de la conception, vous pouvez les utiliser pour mapper le schéma de la procédure stockée à un autre schéma pour une autre opération. Par exemple, vous pouvez mapper le schéma généré pour une procédure fortement typée au schéma généré pour l’opération Insert sur une table de base de données.

Notes

Vous ne pourrez pas afficher les informations de schéma au moment du design pour une procédure stockée fortement typée si :

  • Vous utilisez un curseur, qui est une valeur de retour d’une autre procédure stockée, comme paramètre d’entrée pour la procédure stockée fortement typée.
    • Il s’agit d’une procédure stockée CLR qui effectue certaines opérations sur une table.

Prise en charge des procédures stockées avec la clause FOR XML

L’adaptateur SQL vous permet également d’exécuter des procédures stockées qui ont une instruction SELECT avec une clause FOR XML. Une clause FOR XML est utilisée dans une instruction SELECT pour renvoyer les résultats au format XML au lieu d’un ensemble de lignes. Pour plus d’informations sur la clause FOR XML, consultez https://go.microsoft.com/fwlink/?LinkId=131402.

Notes

L’adaptateur SQL « natif » disponible avec BizTalk Server prend en charge uniquement les procédures stockées qui retournent du code XML, c’est-à-dire qui ont la clause FOR XML dans l’instruction SELECT. Avec la prise en charge des procédures stockées avec la clause FOR XML, vous pouvez exécuter ces procédures stockées à l’aide de l’adaptateur SQL basé sur WCF sans apporter de modifications à la définition de procédure stockée.

Prise en charge des procédures stockées avec des tables temporaires

L’adaptateur SQL vous permet de générer des métadonnées pour les procédures stockées qui contiennent des tables temporaires dans leurs définitions. Toutefois, pour ces procédures stockées, vous devez générer des métadonnées en sélectionnant les procédures stockées uniquement à partir du nœud Procédures , tout en utilisant le plug-in Add Adapter Reference Service plug-in ou Consume Adapter Service Add-in. L’adaptateur ne prend pas en charge la génération de métadonnées pour ces procédures stockées à partir du nœud Procédures fortement typées .

Prise en charge des jeux de résultats contenant des colonnes sans nom ou avec des noms identiques

Le tableau suivant répertorie la façon dont l’adaptateur SQL gère les colonnes sans nom ni même nom dans les jeux de résultats pour les procédures stockées et les procédures stockées fortement typées.

Le jeu de résultats contient... Procédure stockée procédure stockée Strongly-Typed
Colonnes sans nom L’adaptateur SQL génère un nom pour la colonne de la manière suivante : un ID unique (GUID) est généré pour la colonne sans « - » (trait d’union), puis la chaîne GUID est précédée de « C », car le GUID généré peut commencer par un chiffre, mais un nom de balise XML ne peut pas le faire. L’adaptateur SQL génère le nom suivant pour la colonne : « UnNamedColumn[column_index] », où column_index commence à partir de « 0 ».
Colonnes portant le même nom Les noms des colonnes autres que la première sont ajoutés avec « » (trait de soulignement) suivi d’un GUID aléatoire sans « - » (trait d’union). Par exemple : « \[GUID] ». L’adaptateur SQL ne prend pas en charge les colonnes portant le même nom dans les jeux de résultats et lève une exception. Important: Vous devez vous assurer que les noms de colonnes d’un jeu de résultats ont des noms uniques.

Notes

En général, il est recommandé que toutes les colonnes d’un jeu de résultats pour les procédures stockées et les procédures stockées fortement typées doivent être nommées et avoir des noms uniques.

Le cas échéant, consultez les références suivantes :

Voir aussi

Se connecter à un système SAP à l’aide de l’adaptateur