Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser l’adaptateur SQL avec BizTalk Server pour appeler les fonctions à valeur de table dans SQL Server. L’adaptateur expose les fonctions valorisées en table comme opérations susceptibles d'être invoquées directement sur SQL Server. Pour plus d’informations sur la façon dont l’adaptateur prend en charge les fonctions table, consultez Exécution de fonctions Table-Valued dans SQL Server à l’aide de l’adaptateur SQL. Pour plus d’informations sur la structure du message SOAP pour appeler des fonctions table, consultez Schémas de message pour procédures et fonctions.
Conditions préalables
Créer un fichier de clé de nom fort et se familiariser avec les outils
Configurez MSDTC sur les ordinateurs exécutant l’adaptateur SQL et SQL Server.
Appeler des fonctions à valeur de table sur une base de données SQL Server
L’exécution d’une opération sur une base de données SQL Server à l’aide de l’adaptateur SQL avec BizTalk Server implique des tâches procédurales décrites dans blocs de construction pour développer des applications BizTalk avec l’adaptateur SQL. Pour appeler des fonctions à valeur de table dans SQL Server, procédez comme suit :
Créez un projet BizTalk et générez un schéma pour la fonction table que vous souhaitez appeler dans SQL Server.
Créez des messages dans le projet BizTalk pour l’envoi et la réception de messages à partir de SQL Server.
Créez une orchestration pour appeler l’opération sur SQL Server.
Générez et déployez le projet BizTalk.
Configurez l’application BizTalk en créant des ports d’envoi et de réception physiques.
Démarrez l’application BizTalk.
Cette rubrique fournit des instructions pour effectuer ces tâches.
Générer un schéma
Cette rubrique démontre comment appeler des fonctions à valeur de table à l’aide de l’adaptateur SQL avec BizTalk Server dans SQL Server. Pour illustrer cette opération, dans cette rubrique, vous exécutez la fonction TVF_EMPLOYEE. Cette fonction prend la désignation d’un employé comme paramètre et retourne tous les enregistrements de l’employé avec cette désignation, comme type de table. La table Employee et la fonction sont créées en exécutant les scripts fournis avec les exemples. Pour plus d’informations sur le script, consultez Exemples pour l’adaptateur SQL.
Pour montrer comment appeler des fonctions à valeur de table, le schéma est généré pour la fonction à valeur de table TVF_EMPLOYEE. Vous devez créer un projet BizTalk et utiliser le Add-in Consommer le Service d’Adaptateur pour générer le schéma. Pour plus d’informations sur la génération de schémas , consultez La récupération des métadonnées pour les opérations SQL Server dans Visual Studio à l’aide de l’adaptateur SQL .
Définir des messages et des types de messages
Le schéma que vous avez généré précédemment décrit les « types » requis pour les messages dans l’orchestration. Un message est généralement une variable, dont le type est défini par le schéma correspondant. À présent, créez des messages pour l’orchestration et liez-les aux schémas que vous avez générés à l’étape précédente.
Ajoutez une orchestration au projet BizTalk. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet BizTalk, pointez sur Ajouter, puis cliquez sur Nouvel élément. Tapez un nom pour l’orchestration BizTalk, puis cliquez sur Ajouter.
Ouvrez la fenêtre Vue Orchestration du projet BizTalk, si elle n’est pas déjà ouverte. Pour ce faire, cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Mode Orchestration.
En mode Orchestration, cliquez avec le bouton droit sur Messages, puis cliquez sur Nouveau message.
Cliquez avec le bouton droit sur le message nouvellement créé, puis sélectionnez Fenêtre Propriétés.
Dans le volet Propriétés de l’Message_1, procédez comme suit :
Utiliser cette option Pour ce faire Identificateur Tapez RequestType de message Dans la liste déroulante, développez Schémas, puis sélectionnez TableFunctions.TableValuedFunction_dbo. TVF_EMPLOYEE, où TableFunctions est le nom de votre projet BizTalk. TableValuedFunction_dbo est le schéma généré pour la fonction TVF_EMPLOYEE. Répétez l’étape 2 pour créer un message. Dans le volet Propriétés du nouveau message, procédez comme suit :
Utiliser cette option Pour ce faire Identificateur Tapez ResponseType de message Dans la liste déroulante, développez Schémas, puis sélectionnez TableFunctions.TableValuedFunction_dbo.TVF_EMPLOYEEResponse.
Configurer l’orchestration
Créez une orchestration BizTalk pour utiliser BizTalk Server pour effectuer une opération sur SQL Server. Dans cette orchestration, vous déposez un message de requête dans un emplacement de réception spécifié. L’adaptateur SQL consomme ce message et le transmet à SQL Server. La réponse de SQL Server est enregistrée à un autre emplacement. Vous devez inclure des formes d’envoi et de réception pour envoyer des messages à SQL Server et recevoir des réponses, respectivement. Un exemple d’orchestration pour appeler une fonction valorisée table ressemble à ce qui suit :
Ajouter des formes de message
Entrez les propriétés suivantes pour chacune des formes de message. Les noms répertoriés dans la colonne Shape sont les noms des formes de message telles qu'elles apparaissent dans l'orchestration mentionnée précédemment.
| Forme | Type de forme | Propriétés |
|---|---|---|
| RecevoirMessage | Recevoir | - Définir Name sur ReceiveMessage - Définir Activer sur True |
| SendMessage | Envoyer | - Définir Name sur SendMessage |
| RecevoirRéponse | Recevoir | - Définir Name à ReceiveResponse - Définir Activer sur False |
| SendResponse | Envoyer | - Définir Nom sur SendResponse |
Ajouter des ports
Entrez les propriétés suivantes pour chacun des ports logiques. Les noms répertoriés dans la colonne Port sont les noms des ports, comme indiqué dans l’orchestration.
| Port | Propriétés |
|---|---|
| MessageIn | - Définir Identifier à MessageIn - Définir Type sur MessageInType - Définir le modèle de communication sur unidirectionnel - Définir la direction de communication sur recevoir |
| LOBPort | - Définir l’identificateur à LOBPort - Définir Type à LOBPortType - Définir le modèle de communication sur Demande-Réponse - Définir la direction de communication pour envoyer-recevoir |
| ResponseOut | - Définissez Identifier sur ResponseOut - Définir Type sur ResponseOutType - Définir le modèle de communication sur unidirectionnel - Définir le sens de communication sur Envoyer |
Entrez des messages pour les formes d’action et connectez-les aux ports
Le tableau suivant spécifie les propriétés et leurs valeurs que vous devez définir pour spécifier des messages pour les formes d’action et lier les messages aux ports. Les noms répertoriés dans la colonne Shape sont les noms des formes de message comme indiqué dans l’orchestration mentionnée précédemment.
| Forme | Propriétés |
|---|---|
| RecevoirMessage | - Définir Message sur Requête - Définir l’opération sur MessageIn.TVF.Request |
| SendMessage | - Définir Message sur Requête - Définissez l’opération sur LOBPort.TVF.Request |
| RecevoirRéponse | - Définir le message en réponse - Définir l’opération sur LOBPort.TVF.Response |
| SendResponse | - Définir le message en réponse - Définir l’opération sur ResponseOut.TVF.Request |
Une fois que vous avez spécifié ces propriétés, les formes de message et les ports sont connectés, et votre orchestration est terminée.
À présent, générez la solution BizTalk et déployez-la sur BizTalk Server. Pour plus d’informations, consultez Génération et exécution d’orchestrations.
Configurer l’application BizTalk
Une fois que vous avez déployé le projet BizTalk, l’orchestration que vous avez créée précédemment est répertoriée sous le volet Orchestrations dans la console Administration de BizTalk Server. Vous devez utiliser la console Administration de BizTalk Server pour configurer l’application. Pour obtenir une procédure, consultez Procédure pas à pas : déploiement d’une application BizTalk de base.
La configuration d’une application implique :
Sélection d’un hôte pour l’application.
Associez les ports que vous avez créés dans votre orchestration aux ports physiques dans la console d'administration de BizTalk Server. Pour cette orchestration, vous devez :
Définissez un emplacement sur le disque dur et un port de fichier correspondant où vous supprimerez un message de demande. L’orchestration BizTalk consomme le message de requête et l’envoie à la base de données SQL Server.
Définissez un emplacement sur le disque dur et un port de fichier correspondant où l’orchestration BizTalk supprime le message de réponse contenant la réponse de la base de données SQL Server.
Définissez une WCF-Custom physique ou un port d’envoi WCF-SQL pour envoyer des messages à la base de données SQL Server. Vous devez également spécifier l’action dans le port d’envoi. Pour plus d’informations sur la création de ports, consultez Configurer manuellement une liaison de port physique sur l’adaptateur SQL.
Remarque
La génération du schéma à l'aide de l'extension de projet BizTalk Consume Adapter Service crée également un fichier de binding contenant des informations sur les ports et les actions à configurer pour ces ports. Vous pouvez importer ce fichier de liaison à partir de la console Administration de BizTalk Server pour créer des ports d’envoi (pour les appels sortants) ou recevoir des ports (pour les appels entrants). Pour plus d’informations, consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port pour utiliser l’adaptateur SQL.
Démarrer l’application
Démarrez l'application BizTalk pour appeler des fonctions avec valeur de table sur la base de données SQL Server. Pour obtenir des instructions sur le démarrage d’une application BizTalk, consultez Guide pratique pour démarrer une orchestration.
À ce stade, assurez-vous que :
Le port de réception FILE pour recevoir des messages de requête pour l’orchestration est en cours d’exécution.
Le port d'envoi FILE, chargé de recevoir les messages de réponse de l’orchestration, est en cours d’exécution.
Le port d’envoi WCF-Custom ou WCF-SQL pour envoyer des messages à la base de données SQL Server est en cours d’exécution.
L’orchestration de BizTalk pour l’opération est en cours.
Exécuter l’opération
Après avoir exécuté l’application, vous devez envoyer un message de requête à l’emplacement de réception FILE. Le schéma du message de requête doit être conforme au schéma de la fonction table TVF_EMPLOYEE que vous avez générée précédemment. Par exemple, le message de requête pour appeler la fonction TVF_EMPLOYEE est :
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/TableValuedFunctions/dbo">
<emp_desig>Tester</emp_desig>
</TVF_EMPLOYEE>
Ce message de demande appelle la fonction TVF_EMPLOYEE pour récupérer les enregistrements des employés ayant la désignation « Testeur ». Consultez Schémas de message pour procédures et fonctions pour plus d’informations sur le schéma de message de requête pour appeler des fonctions table dans SQL Server à l’aide de l’adaptateur SQL.
Remarque
Si vous ne spécifiez pas de valeur pour le paramètre, l’adaptateur exécute en interne la fonction à l’aide du mot clé DEFAULT, ce qui signifie que l’adaptateur exécute la fonction en transmettant la valeur par défaut pour le paramètre, si elle est disponible dans le cadre de la définition de la fonction.
L’orchestration consomme le message et l’envoie à la base de données SQL Server. La réponse de la base de données SQL Server est enregistrée à l’autre emplacement FILE défini dans le cadre de l’orchestration. Par exemple, la réponse de la base de données SQL Server pour le message de requête précédent est la suivante :
<?xml version="1.0" encoding="utf-8" ?>
<TVF_EMPLOYEEResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/TableValuedFunctions/dbo">
<TVF_EMPLOYEEResult>
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/TableFunctionReturnTables/dbo">
<Employee_ID>10499</Employee_ID>
<Name>John</Name>
<Designation>Tester</Designation>
<Salary>999999.00</Salary>
<Last_Modified>AAAAAAAAJBM=</Last_Modified>
</TVF_EMPLOYEE>
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/TableFunctionReturnTables/dbo">
......
......
</TVF_EMPLOYEE>
......
......
</TVF_EMPLOYEEResult>
</TVF_EMPLOYEEResponse>
Meilleures pratiques
Une fois que vous avez déployé et configuré le projet BizTalk, vous pouvez exporter les paramètres de configuration vers un fichier XML appelé fichier de liaison. Une fois que vous avez généré un fichier de liaison, vous pouvez importer les paramètres de configuration à partir du fichier afin que vous n’ayez pas besoin de créer des éléments tels que les ports d’envoi et les ports de réception pour la même orchestration. Pour plus d’informations sur les fichiers de liaison, consultez Réutiliser les liaisons d’adaptateur.
Voir aussi
Développer des applications BizTalk à l’aide de l’adaptateur SQL