Partager via


Traiter les messages de notification pour effectuer des tâches spécifiques dans Oracle Database à l’aide de BizTalk Server

Vous pouvez utiliser l’adaptateur Oracle Database pour recevoir des notifications pour les modifications apportées aux tables de base de données Oracle. Toutefois, l’adaptateur vous envoie uniquement une notification indiquant que certains enregistrements ont été insérés, mis à jour ou supprimés dans une certaine table de base de données. Tout post-traitement sur ces enregistrements doit être géré par les applications clientes elles-mêmes. Cette rubrique présente une description basée sur un scénario sur la façon de traiter les enregistrements dans la table en fonction du type de notification reçu de la base de données Oracle.

Scénarios d’exécution d’actions suivantes après réception d’une notification

Voici quelques scénarios dans lesquels les clients de l’adaptateur doivent effectuer certaines tâches post-notification.

  • Scénario 1 Prenons l’exemple d’un scénario dans lequel le client de l’adaptateur doit effectuer certaines tâches en fonction du type de notification que vous recevez de la base de données Oracle. Par exemple, l’application cliente doit mettre à jour les enregistrements de la table « A » si les enregistrements sont insérés dans la table « B ». De même, l’application cliente doit supprimer des enregistrements de la table « A » si les enregistrements sont supprimés de la table « B ».

    Dans ce scénario, à partir du message de notification reçu, les clients de l’adaptateur doivent extraire le type de notification pour décider si la notification était destinée à une opération d’insertion ou de suppression. Une fois le type de notification déterminé, les clients de l’adaptateur doivent effectuer les actions suivantes pour insérer ou mettre à jour les tables appropriées.

  • Scénario 2 Prenons l’exemple d’un scénario où l’emplacement de réception qui reçoit des messages de notification pour les modifications apportées à une table tombe en panne. Lorsque l’emplacement de réception est arrêté, certains enregistrements sont ajoutés à la table. Toutefois, pour ces enregistrements, le client de l’adaptateur ne reçoit aucune notification. Lorsque l’emplacement de réception est sauvegardé, l’adaptateur avertit le client en envoyant un message spécifique, puis l’application cliente doit rechercher tous les enregistrements qui ont été insérés dans la table de base de données alors que l’emplacement de réception était en panne.

    Dans ce scénario, à partir du message de notification reçu, les clients de l’adaptateur doivent extraire les informations indiquant si la notification concerne une modification d’une table de base de données ou l’emplacement de réception. Si la notification concerne l’emplacement de début de la réception, les clients de l’adaptateur doivent implémenter la logique pour traiter les enregistrements qui ont pu être insérés, mis à jour ou supprimés alors que l’emplacement de réception était arrêté.

Notes

Voici quelques exemples de scénarios répertoriés pour une meilleure compréhension de l’utilisation de la fonctionnalité de notification dans l’adaptateur Oracle Database. Toutefois, l’ensemble de tâches de base requis pour extraire le type de notification reçue sera similaire pour tous les scénarios. Cette rubrique fournit des instructions sur la façon d’extraire le type de notification d’un message de notification.

Comment cette rubrique montre comment recevoir des messages de notification

Dans cette rubrique, pour montrer comment traiter les messages de notification pour effectuer les tâches suivantes, nous considérons un scénario de base dans lequel un client d’adaptateur utilise l’application BizTalk pour recevoir des messages de notification pour les modifications apportées à la table ACCOUNTACTIVITY. Une fois la notification reçue, le client filtre le type de notification reçue et effectue l’action suivante. Pour illustrer un scénario très simple, considérons que le client de l’adaptateur copie les messages de notification dans différents dossiers en fonction du type de notification reçu. Par conséquent :

  • Si le message de notification concerne une opération d’insertion ou de mise à jour, le client de l’adaptateur copie le message dans le dossier C :\TestLocation\UpsertNotification.

  • Si le message de notification concerne une autre opération, par exemple Supprimer, le client de l’adaptateur copie le message dans le dossier C :\TestLocation\OtherNotificaiton.

    Pour y parvenir dans le cadre d’une application BizTalk, l’orchestration doit contenir les éléments suivants :

  • Port de réception unidirectionnel pour recevoir des messages de notification.

  • Forme d’expression qui contient une requête xpath pour extraire les informations sur le type de message de notification reçu.

  • Forme Décider pour inclure un bloc de décision dans l’orchestration. Dans ce bloc de décision, l’application décide des opérations suivantes à effectuer en fonction du message de notification reçu.

  • Deux ports d’envoi unidirectionnel qui reçoivent finalement les messages de notification.

Configuration des notifications avec les propriétés de liaison de base de données Oracle

Le tableau suivant récapitule les propriétés de liaison de l’adaptateur Oracle Database que vous utilisez pour configurer la réception de notifications à partir de la base de données Oracle. Vous devez spécifier ces propriétés de liaison lors de la configuration du port de réception dans la console d’administration BizTalk Server.

Notes

Vous pouvez choisir de spécifier ces propriétés de liaison lors de la génération du schéma pour l’opération de notification , même si ce n’est pas obligatoire. Si vous procédez ainsi, le fichier de liaison de port généré par le complément Consume Adapter Service dans le cadre de la génération de métadonnées contient également les valeurs que vous spécifiez pour les propriétés de liaison. Vous pouvez importer ultérieurement ce fichier de liaison dans la console d’administration BizTalk Server pour créer le port de réception WCF-custom ou WCF-OracleDB avec les propriétés de liaison déjà définies. Pour plus d’informations sur la création d’un port wcf personnalisé ou WCF-OracleDB à l’aide du fichier de liaison, consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port à Oracle Database.

Binding, propriété Description
InboundOperationType Spécifie l’opération entrante que vous souhaitez effectuer. Pour recevoir des messages de notification, définissez-le sur Notification.
NotificationPort Spécifie le numéro de port que ODP.NET devez ouvrir pour écouter la notification de modification de la base de données Oracle.
NotificationStatement Spécifie l’instruction SELECT utilisée pour s’inscrire aux notifications de requête. L’adaptateur reçoit un message de notification uniquement lorsque le jeu de résultats de l’instruction SELECT spécifiée change.
NotifyOnListenerStart Spécifie si l’adaptateur envoie une notification aux clients de l’adaptateur lorsque l’écouteur est démarré.

Pour obtenir une description plus complète de ces propriétés, consultez Utilisation des propriétés de liaison. Pour obtenir une description complète de l’utilisation de l’adaptateur Oracle Database pour recevoir des notifications de la base de données Oracle, lisez plus loin.

Comment recevoir des messages de notification à partir d’Oracle Database

L’exécution d’une opération sur la base de données Oracle à l’aide de l’adaptateur Oracle Database avec BizTalk Server implique les tâches procédurales décrites dans Blocs de construction pour développer des applications BizTalk avec Oracle Database. Pour configurer l’adaptateur pour recevoir des messages de notification, les tâches suivantes sont les suivantes :

  1. Créez un projet BizTalk, puis générez le schéma pour l’opération entrante notification . Si vous le souhaitez, vous pouvez spécifier des valeurs pour les propriétés de liaison InboundOperationType, NotificationPort et NotificationStatement .

  2. Créez un message dans le projet BizTalk pour recevoir une notification de la base de données Oracle.

  3. Créez une orchestration comme décrit dans la section précédente.

  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.

    Notes

    Pour les opérations entrantes, telles que la réception de messages de notification, vous devez uniquement configurer un port de réception WCF-Custom ou WCF-OracleDB unidirectionnel. Les ports de réception bidirectionnel ne sont pas pris en charge pour les opérations entrantes.

  6. Démarrez l’application BizTalk.

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

Génération du schéma

Vous devez générer le schéma pour l’opération entrante notification . Pour plus d’informations sur la façon de générer le schéma, consultez Récupérer des métadonnées pour les opérations de base de données Oracle dans Visual Studio . Effectuez les tâches suivantes lors de la génération du schéma. Ignorez la première étape si vous ne souhaitez pas spécifier les propriétés de liaison au moment du design.

  1. Spécifiez une valeur pour les propriétés de liaison InboundOperationType, NotificationPort et NotificationStatement lors de la génération du schéma. Pour plus d’informations sur cette propriété de liaison, consultez Utilisation des propriétés de liaison. Pour obtenir des instructions sur la spécification des propriétés de liaison, consultez Configurer les propriétés de liaison pour Oracle Database.

  2. Sélectionnez le type de contrat service (opérations entrantes).

  3. Générez le schéma pour l’opération de notification .

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, dont le type est défini par le schéma correspondant. Une fois le schéma généré, vous devez le lier aux messages de la vue Orchestration du projet BizTalk.

Pour cette rubrique, vous devez créer un message pour recevoir des notifications de la base de données Oracle.

Effectuez les étapes suivantes pour créer des messages et les lier au schéma.

  1. Ajoutez une orchestration au projet BizTalk. À partir du 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. Ouvrez la fenêtre d’affichage d’orchestration du projet BizTalk, si elle n’est pas déjà ouverte. 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 de Message_1, procédez comme suit :

    Propriété Pour
    Identificateur Tapez NotifyReceive.
    Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez Process_Notification.OracleDBBinding.Notification, où Process_Notification est le nom de votre projet BizTalk. OracleDBBinding est le schéma généré pour l’opération notification .

Configuration de l’orchestration

Vous devez créer une orchestration BizTalk pour utiliser BizTalk Server pour recevoir des messages de notification à partir de la base de données Oracle, puis effectuer des tâches en fonction du type de notification reçu. Dans cette orchestration, l’adaptateur reçoit le message de notification basé sur l’instruction SELECT spécifiée pour la propriété de liaison NotificationStatement . La requête xpath spécifiée dans la forme Expression extrait le type de notification dans une variable, par exemple NotificationType. La forme Decide utilise la valeur de cette variable pour décider du type de notification reçue et prend le « chemin » approprié pour effectuer les opérations suivantes. Comme indiqué dans la section précédente, l’orchestration effectue les opérations suivantes en fonction du type de message de notification reçu.

  • Si le message de notification concerne une opération d’insertion ou de mise à jour, le client d’adaptateur copie le message dans le dossier C :\TestLocation\UpsertNotification.

  • Si le message de notification concerne toute autre opération, par exemple Supprimer, le client d’adaptateur copie le message dans le dossier C :\TestLocation\OtherNotificaiton.

    Par conséquent, votre orchestration doit contenir les éléments suivants :

  • Port de réception unidirectionnel pour recevoir des messages de notification.

  • Forme Expression qui contient une requête xpath pour extraire le type de notification reçue.

  • Forme Décider pour inclure un bloc de décision dans l’orchestration. Dans ce bloc de décision, l’application décide des opérations suivantes à effectuer en fonction du message de notification reçu.

  • Deux ports d’envoi unidirectionnel qui reçoivent enfin les messages de notification.

  • Forme de réception.

    Un exemple d’orchestration ressemble à ce qui suit.

    Orchestration pour effectuer une tâche post-notification

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
ReceiveNotification Recevoir - Définissez Nom sur ReceiveNotification

- Définissez Activer sur True

Ajout d’une forme d’expression

L’objectif de l’inclusion d’une forme Expression dans l’orchestration est d’avoir une requête xpath pour extraire le type de message de notification reçu. Avant de créer une requête xpath, examinons le format d’un message de notification. Un message de notification classique ressemble à ce qui suit :

<?xml version="1.0" encoding="utf-8" ?>
<Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
  <Details>
    <NotificationDetails>
      <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
      <Info>1</Info>
      <QueryId>0</QueryId>
    </NotificationDetails>
  </Details>
  <Info>Insert</Info>
  <ResourceNames>
    <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
  </ResourceNames>
  <Source>Data</Source>
  <Type>Change</Type>
</Notification>

Comme vous le voyez, les informations sur le type de notification sont disponibles dans la <info> balise, dans la balise parente <Notification> . Par conséquent, dans le cadre de cette forme d’expression, vous devez :

  • Créez une variable qui contient la valeur dans la <Info> balise et définissez son type sur System.String. Pour plus d’informations sur la création de variables, consultez Utilisation de variables dans les orchestrations.

    Pour cette rubrique, nommez la variable NotificationType.

  • Créez une requête xpath pour extraire la valeur de la <balise Info> . La requête xpath ressemble à ce qui suit :

    NotificationType = xpath(NotifyReceive,"string(/*[local-name()='Notification']/*[local-name()='Info']/text())");
    

    Dans cette requête xpath, NotifyReceive est le message que vous avez créé pour recevoir des messages de notification. L’extrait dans la string fonction indique que la requête doit extraire la valeur dans la <Info> balise, qui à son tour se trouve dans la <Notification> balise. Enfin, la valeur extraite par la requête est affectée à la variable NotificaitonType .

Ajout d’une forme Décider

L’objectif de l’ajout d’une forme Decide est d’inclure un bloc de décision dans l’orchestration pour décider des opérations suivantes à effectuer en fonction du type de message de notification reçu. La décision est prise sur la base de la valeur de la variable NotificationType . Dans cette rubrique, l’orchestration prend une décision en fonction du type de message de notification reçu. Par conséquent, la condition dans la forme Règle est spécifiée comme suit :

NotificationType.Equals("Insert") | NotificationType.Equals("Update")

Cette condition suggère que si la valeur de la variable NotificaitonType est Insert ou Update, l’orchestration effectue un ensemble de tâches. Si la valeur de la variable NotificationType est autre chose, l’orchestration effectue un autre ensemble de tâches.

Comme indiqué dans les sections précédentes, pour illustrer une approche simple, l’orchestration copie les messages dans différents dossiers en fonction du type de message de notification. Par conséquent, dans les blocs Règle et Else, vous devez ajouter des formes Envoyer pour envoyer les messages à différents ports. Pour cette rubrique, nommez la forme d’envoi dans le bloc Règle SendUpsertNotification et la forme Envoyer dans le bloc Else comme SendOtherNotification.

Ajout de ports

Vous devez maintenant ajouter les ports logiques suivants à l’orchestration :

  • Port de réception unidirectionnel pour recevoir des messages de notification de la base de données Oracle.

  • Port d’envoi unidirectionnel pour envoyer des messages de notification pour les opérations d’insertion et de mise à jour dans un dossier spécifique.

  • Port d’envoi unidirectionnel pour envoyer des messages de notification pour toute autre opération à un dossier spécifique.

    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
OracleNotifyPort - Définissez Identificateur sur OracleNotifyPort

- Définissez Type sur OracleNotifyPortType

- Définir le modèle de communication sur Unidirectionnel

- Définir le sens de communication sur réception
NotificationUpsertPort - Définissez Identificateur sur NotificationUpsertPort

- Définissez Type sur NotificationUpsertPortType

- Définir le modèle de communication sur Unidirectionnel

- Définir le sens de communication sur Envoyer
OtherNotificationPort - Définissez Identificateur sur OtherNotificationPort

- Définissez Type sur OtherNotificationPortType

- Définir le modèle de communication sur Unidirectionnel

- Définir le sens de communication sur Envoyer

Spécifier des messages pour les formes d’action et se connecter aux ports

Le tableau suivant spécifie les propriétés et leurs valeurs que vous devez définir pour spécifier les 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, comme indiqué dans l’orchestration mentionnée précédemment.

Forme Propriétés
ReceiveNotification - Définir Message sur NotifyReceive

- Définissez Opération sur OracleNotifyPort.Notify.Request
SendUpsertNotification - Définir Message sur NotifyReceive

- Définissez Opération sur NotificationUpsertPort.Upsert.Request
SendOtherNotification - Définir Message sur Sélectionner

- Définissez Opération sur OtherNotificationPort.Other.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 un 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 dans la console Administration BizTalk Server. Vous devez utiliser la console 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 aux ports physiques dans la console Administration BizTalk Server. Pour cette orchestration, vous devez :

    • Définissez un WCF-Custom physique ou WCF-OracleDB port de réception unidirectionnel. Ce port écoute les notifications provenant de la base de données Oracle. Pour plus d’informations sur la création de ports de réception, consultez Configurer manuellement une liaison de port physique à l’adaptateur de base de données Oracle. Veillez à spécifier les propriétés de liaison suivantes pour le port de réception.

      Important

      Vous n’avez pas besoin d’effectuer cette étape si vous avez spécifié les propriétés de liaison au moment du design. Dans ce cas, vous pouvez créer un port de réception WCF personnalisé ou WCF-OracleDB, avec les propriétés de liaison requises définies, en important le fichier de liaison créé par le complément Consume Adapter Service. Pour plus d’informations, consultez Configuration d’une liaison de port physique à l’aide d’un fichier de liaison de port.

      Binding, propriété Valeur
      InboundOperationType Définissez cette valeur sur Notification.
      NotificationPort Spécifie le numéro de port que ODP.NET devez ouvrir pour écouter la notification de modification de base de données à partir d’une base de données Oracle. Définissez-le sur le même numéro de port que vous devez avoir ajouté à la liste des exceptions du Pare-feu Windows. Pour obtenir des instructions sur l’ajout de ports à la liste d’exceptions du Pare-feu Windows, consultez https://go.microsoft.com/fwlink/?LinkID=196959.

      Important: Si vous définissez cette valeur sur la valeur par défaut de -1, vous devez désactiver complètement le Pare-feu Windows pour recevoir des messages de notification.
      NotificationStatement Définissez cette valeur sur :

      SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’

      Note: Vous devez spécifier le nom de la table ainsi que le nom du schéma. Par exemple : SCOTT.ACCOUNTACTIVITY.
      NotifyOnListenerStart Définissez cette valeur sur True.

      Pour plus d’informations sur les différentes propriétés de liaison, consultez Utilisation des propriétés de liaison.

      Notes

      Nous vous recommandons de configurer le niveau d’isolation des transactions et le délai d’expiration de la transaction lors de l’exécution d’opérations entrantes à l’aide de l’adaptateur Oracle Database. Pour ce faire, ajoutez le comportement du service lors de la configuration du port de réception WCF-Custom ou WCF-OracleDB. Pour obtenir des instructions sur l’ajout du comportement du service, consultez Configurer le niveau d’isolation des transactions et Le délai d’expiration des transactions avec Oracle Database.

    • Définissez un emplacement sur le disque dur et un port de fichier correspondant où l’orchestration BizTalk supprime les messages de notification de la base de données Oracle pour les opérations d’insertion et de mise à jour. Configurez ce port pour supprimer les messages de notification dans le dossier C :\TestLocation\UpsertNotification.

    • Définissez un emplacement sur le disque dur et un port de fichier correspondant où l’orchestration BizTalk supprime les messages de notification de la base de données Oracle pour toutes les autres opérations. Configurez ce port pour supprimer les messages de notification dans le dossier C :\TestLocation\OtherNotification.

Démarrage de l’application

Vous devez démarrer l’application BizTalk pour recevoir des messages de notification à partir de la base de données Oracle et pour effectuer les opérations de sélection et de mise à jour suivantes. 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 WCF-Custom ou WCF-OracleDB port de réception unidirectionnel, qui reçoit les messages de notification de la base de données Oracle en cours d’exécution.

  • Les deux ports d’envoi FILE, qui reçoivent des messages à partir de la base de données Oracle, sont en cours d’exécution.

  • L’orchestration BizTalk pour l’opération est en cours d’exécution.

Exécution de l’opération

Après avoir démarré l’orchestration BizTalk, l’ensemble d’actions suivant se produit :

  • Étant donné que la propriété de liaison NotifyOnListenerStart a la valeur True, vous recevez le message suivant :

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Info>ListenerStarted</Info>
      <Source>OracleDBBinding</Source>
      <Type>Startup</Type>
    </Notification>
    

    Notez que la valeur dans la <Info> balise est « ListnerStarted ». Par conséquent, ce message est reçu dans le dossier C :\TestLocation\OtherNotification.

  • Insérez un enregistrement dans la table ACCOUNTACTIVITY. Vous recevrez un message de notification semblable à ce qui suit :

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>1</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Insert</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Notez que la valeur de la <Info> balise est « Insert ». Par conséquent, ce message est reçu dans le dossier C :\TestLocation\UpsertNotification.

  • Mettez à jour un enregistrement dans la table ACCOUNTACTIVITY. Vous recevrez un message de notification semblable à ce qui suit :

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>32</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Update</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Notez que la valeur dans la <Info> balise est « Update ». Par conséquent, ce message est reçu dans le dossier C :\TestLocation\UpsertNotification.

  • Supprimez un enregistrement de la table ACCOUNTACTIVITY. Vous recevrez un message de notification semblable à ce qui suit :

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>16</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Delete</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Notez que la valeur dans la <Info> balise est « Delete ». Par conséquent, ce message est reçu dans le dossier C :\TestLocation\OtherNotification.

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 les ports d’envoi et de réception pour la même orchestration. Pour plus d’informations sur les fichiers de liaison, consultez Réutiliser les liaisons d’adaptateur de base de données Oracle.

Exécution d’opérations complexes après la réception de messages de notification

Par souci de simplicité et de meilleure compréhension, l’orchestration de cette rubrique copie les messages dans différents dossiers en fonction du type de notification. Toutefois, dans des scénarios réels, vous pouvez effectuer des opérations plus complexes. Vous pouvez effectuer des procédures similaires à celles fournies dans cette rubrique et les utiliser pour effectuer les opérations souhaitées. Par exemple, vous pouvez modifier l’orchestration pour insérer des enregistrements dans une autre table si vous recevez un message de notification pour une opération d’insertion sur la table ACCOUNTACTIVITY. Dans ce cas, vous pouvez apporter les modifications appropriées dans la forme Décider.

Voir aussi

Réception de notifications de modification de base de données Oracle à l’aide de BizTalk Server