Partager via


Insérer, mettre à jour, supprimer ou sélectionner des opérations à l’aide de BizTalk Server avec l’adaptateur SQL

L’adaptateur Microsoft BizTalk pour SQL Server expose un ensemble d’opérations standard sur SQL Server tables et vues de base de données. Il s’agit d’opérations de langage de manipulation de données (DML). En utilisant des opérations DML, vous pouvez effectuer des opérations d’insertion, de mise à jour, de sélection et de suppression simples sur des tables et des vues. Pour plus d’informations sur la façon dont l’adaptateur prend en charge ces opérations, consultez Opérations d’insertion, de mise à jour, de suppression et de sélection sur les tables et les vues avec l’adaptateur SQL. Pour plus d’informations sur la structure du message SOAP pour ces opérations, consultez Schémas de message pour les opérations d’insertion, de mise à jour, de suppression et de sélection sur les tables et les vues.

Notes

Si vous effectuez une opération sur des tables qui ont des colonnes de types définis par l’utilisateur, veillez à vous reporter à Opérations sur les tables et les vues avec des types User-Defined à l’aide de l’adaptateur SQL avant de commencer à développer votre application.

Comment effectuer des opérations de base 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 effectuer des opérations d’insertion, de mise à jour, de suppression ou de sélection sur des tables et des vues dans SQL Server, ces tâches sont les suivantes :

  1. Créez un projet BizTalk et générez le schéma pour l’opération que vous souhaitez appeler sur une table ou une vue de base de données SQL Server.

  2. Créez des messages dans le projet BizTalk pour l’envoi et la réception de messages à partir de la base de données SQL Server.

  3. Créez une orchestration pour appeler l’opération sur la table ou la vue de base de données SQL Server.

  4. Générez et déployez le projet BizTalk.

  5. Configurez l’application BizTalk en créant des ports d’envoi et de réception physiques.

  6. Démarrez l’application BizTalk.

    Cette rubrique fournit des instructions pour effectuer ces tâches.

Exemple basé sur cette rubrique

Un exemple, SelectTable, basé sur cette rubrique, est fourni avec le pack d’adaptateurs BizTalk. Pour plus d’informations, consultez Exemples pour l’adaptateur SQL.

Génération du schéma

Cette rubrique montre comment effectuer des opérations DML de base en sélectionnant des enregistrements dans la table EMPLOYEE de la base de données SQL Server. Exécutez les scripts fournis avec les exemples pour créer la table EMPLOYEE. Pour plus d’informations sur les exemples, consultez Exemples de schémas.

Pour montrer comment sélectionner des enregistrements, le schéma est généré pour l’opération Sélectionner pour la table EMPLOYEE. Vous devez créer un projet BizTalk et utiliser le complément Consume Adapter Service pour générer le schéma. Pour plus d’informations sur la génération de schémas, consultez Récupération de métadonnées pour les opérations SQL Server dans Visual Studio à l’aide de l’adaptateur SQL.

Important

Si vous générez des métadonnées pour les opérations sur une table qui contient des colonnes de types définis par l’utilisateur (UDT), assurez-vous que les assemblys respectifs des types définis par l’utilisateur sont disponibles au même emplacement que l’exécutable Visual Studio, devenv.exe. L’exécutable est généralement disponible à l’adresse <installation drive>:\Program Files\Microsoft Visual Studio <version>\Common7\IDE. Dans cet exemple, la table EMPLOYEE a une colonne UDT (Point). Veillez à copier l’assembly respectif au même emplacement que l’exécutable Visual Studio.

Pour plus d’informations sur la création d’un type défini par l’utilisateur, consultez Créer un type de User-Defined. Pour plus d’informations sur l’inscription d’un type défini par l’utilisateur dans SQL Server, consultez Inscription de types User-Defined dans SQL Server.

Définition 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, du type défini par le schéma correspondant. Vous devez maintenant créer des messages pour l’orchestration et les lier aux schémas que vous avez générés à l’étape précédente.

  1. Ajoutez une orchestration au projet BizTalk. À partir 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.

  2. Si la fenêtre Vue Orchestration du projet BizTalk n’est pas déjà ouverte, ouvrez-la. Pour ce faire, cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Vue d’orchestration.

  3. Dans la vue Orchestration, cliquez avec le bouton droit sur Messages, puis cliquez sur Nouveau message.

  4. Cliquez avec le bouton droit sur le message nouvellement créé, puis sélectionnez Fenêtre Propriétés.

  5. Dans le volet Propriétés du Message_1, procédez comme suit :

    Propriété Pour
    Identificateur Saisissez Request
    Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez SelectTable.TableOperation_dbo_Employee.Select, où SelectTable est le nom de votre projet BizTalk. TableOperation_dbo_Employee est le schéma généré pour l’opération Select sur la table EMPLOYEE.
  6. Répétez l’étape 2 pour créer un message. Dans le volet Propriétés du nouveau message, procédez comme suit :

    Propriété Pour
    Identificateur Saisissez Response
    Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez SelectTable.TableOperation_dbo_Employee.SelectResponse.

Configuration de l’orchestration

Vous devez créer une orchestration BizTalk pour utiliser BizTalk Server pour effectuer une opération sur SQL Server. Dans cette orchestration, vous supprimez un message de demande à un emplacement de réception défini. 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 Envoyer et Recevoir pour envoyer des messages à SQL Server et recevoir des réponses, respectivement. Un exemple d’orchestration pour l’opération Select ressemble à ce qui suit :

Orchestration pour l’opération Select sur SQL Server

Ajout de formes de message

Veillez à spécifier les propriétés suivantes pour chacune des formes de message. Les noms répertoriés dans la colonne Forme sont les noms des formes de message affichées dans l’orchestration qui vient d’être mentionnée.

Forme Type de forme Propriétés
ReceiveMessage Recevoir - Définissez Nom sur ReceiveMessage
- Définissez Activer sur True
SendMessage Envoyer - Définissez Nom sur SendMessage
ReceiveResponse Recevoir - Définissez Nom sur ReceiveResponse
- Définissez Activer sur False
SendResponse Envoyer - Définissez Name sur SendResponse

Ajout de ports

Veillez à spécifier les propriétés suivantes pour chacun des ports logiques. Les noms répertoriés dans la colonne Port sont les noms des ports affichés dans l’orchestration.

Port Propriétés
MessageIn - Définissez Identifier sur MessageIn
- Définissez Type sur MessageInType
- Définir le modèle de communication sur Unidirectionnel
- Définir le sens de la communication sur Réception
LOBPort - Définissez Identifier sur LOBPort
- Définissez Type sur LOBPortType
- Définir le modèle de communication sur Requête-réponse
- Définir le sens de la communication sur Envoyer-Recevoir
ResponseOut - Définissez Identifier sur ResponseOut
- Définissez Type sur ResponseOutType
- Définir le modèle de communication sur Unidirectionnel
- Définir le sens de la communication sur Envoyer

Spécifier des messages pour les formes d’action et les connecter 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 Forme sont les noms des formes de message affichées dans l’orchestration mentionnée précédemment.

Forme Propriétés
ReceiveMessage - Définir message sur Demande
- Définissez Opération sur MessageIn.Select.Request
SendMessage - Définir message sur Demande
- Définissez Opération sur LOBPort.Select.Request
ReceiveResponse - Définir Message sur Réponse
- Définissez Opération sur LOBPort.Select.Response
SendResponse - Définir Message sur Réponse
- Définissez Opération sur ResponseOut.Select.Request

Une fois que vous avez spécifié ces propriétés, les formes et les ports de message sont connectés, et votre orchestration est terminée.

Vous devez maintenant générer la solution BizTalk et la déployer sur BizTalk Server. Pour plus d’informations, consultez Génération et exécution d’orchestrations.

Configuration de 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 de la console d’administration BizTalk Server. Vous devez utiliser la console d’administration BizTalk Server pour configurer l’application. Pour obtenir une procédure pas à pas, 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.

  • Mappage des ports que vous avez créés dans votre orchestration à des ports physiques dans la console d’administration 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 supprimera le message de réponse contenant la réponse de la base de données SQL Server.

    • Définissez un 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 à l’adaptateur SQL.

      Notes

      La génération du schéma à l’aide du complément de projet BizTalk du service d’adaptateur de consommation crée également un fichier de liaison qui contient des informations sur les ports et les actions à définir pour ces ports. Vous pouvez importer ce fichier de liaison à partir de la console d’administration BizTalk Server pour créer des ports d’envoi (pour les appels sortants) ou des ports de réception (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émarrage de l’application

Vous devez démarrer l’application BizTalk pour sélectionner des enregistrements à partir d’une table de base de données SQL Server. Pour connaître les étapes de 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 demande pour l’orchestration est en cours d’exécution.

  • Le port d’envoi FILE pour 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 BizTalk pour l’opération est en cours d’exécution.

Important

Si vous effectuez des opérations sur une table qui contient des colonnes de types définis par l’utilisateur (UDT), assurez-vous que les assemblys respectifs des types définis par l’utilisateur sont disponibles au même emplacement que l’exécutable BizTalk Server, btsntsvc.exe. L’exécutable est généralement disponible à l’adresse <installation drive>:\Program Files\Microsoft BizTalk Server <version>. Dans cet exemple, la table EMPLOYEE a une colonne UDT (Point). Veillez à copier l’assembly respectif au même emplacement que l’exécutable BizTalk Server.

Pour plus d’informations sur la création d’un type défini par l’utilisateur, consultez Créer un type de User-Defined. Pour plus d’informations sur l’inscription d’un type défini par l’utilisateur dans SQL Server, consultez Inscrire des types de User-Defined dans SQL Server.

Exécution de l’opération

Après avoir exécuté l’application, vous devez supprimer un message de demande à l’emplacement de réception FILE. Le schéma du message de demande doit être conforme au schéma de l’opération Select que vous avez générée précédemment. Par exemple, le message de demande de sélection de tous les enregistrements de la table EMPLOYEE est le suivant :

<Select xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee">  
  <Columns>*</Columns>  
  <Query>where Employee_ID=10001</Query>  
</Select>  

Ce message de demande récupère les enregistrements de la table Employee qui répondent à la condition spécifiée dans l’élément <Query> . Si vous souhaitez récupérer des colonnes spécifiques de la table, vous devez les spécifier dans l’élément <Columns> , séparés par une virgule, dans la même séquence qu’elles apparaissent dans la définition de table. Si vous ne souhaitez pas spécifier de condition pour récupérer des données, laissez l’élément <Query> vide. Consultez Schémas de message pour les opérations d’insertion, de mise à jour, de suppression et de sélection sur les tables et les vues pour plus d’informations sur le schéma de message de requête pour effectuer des opérations DML de base de données sur SQL Server tables et vues de base de données à l’aide de l’adaptateur SQL.

L’orchestration consomme le message et l’envoie à SQL Server base de données. La réponse de SQL Server base de données est enregistrée à l’autre emplacement FILE défini dans le cadre de l’orchestration. Par exemple, la réponse de SQL Server base de données pour le message de requête précédent est la suivante :

<?xml version="1.0" encoding="utf-8" ?>   
<SelectResponse xmlns="mssql://Microsoft.LobServices.Sql/2008/01/TVOp/dbo/Employee">  
  <SelectResult>  
    <Employee xmlns="mssql://Microsoft.LobServices.Sql/2008/01/Types/Tables/dbo">  
      <Employee_ID>10001</Employee_ID>  
      <Name>John</Name>  
      <DOJ>1983-12-31T00:00:00Z</DOJ>  
      <Designation>Manager</Designation>  
      <Job_Description>Management</Job_Description>  
      <Photo>EjRVYzRFVQ==</Photo>  
      <Rating>1,2</Rating>  
      <Salary>100000.00</Salary>  
      <Last_Modified>AAAAAAAAD6I=</Last_Modified>  
    </Employee>  
  </SelectResult>  
</SelectResponse>  

Bonnes 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, de sorte que vous n’avez 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 SQL.

  • Si vous insérez, mettez à jour ou supprimez de grands volumes de données, veillez à définir les valeurs de délai d’expiration appropriées pour l’adaptateur WCF et pour la transaction MSDTC. Pour plus d’informations, consultez le problème « L’adaptateur ne parvient pas à insérer, mettre à jour ou supprimer de grands volumes de données en une seule opération à l’aide de BizTalk Server » dans Résoudre les problèmes opérationnels avec l’adaptateur SQL.

Voir aussi

Développer des applications BizTalk avec l’adaptateur SQL