Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Par souci de concision, cette rubrique décrit uniquement comment recevoir des notifications de manière incrémentielle. Dans les scénarios métier, l’orchestration doit idéalement inclure la logique permettant d’extraire le type de message de notification reçu, puis d’effectuer les opérations suivantes. En d’autres termes, l’orchestration décrite dans cette rubrique doit être basée sur l’orchestration décrite dans Les messages de notification de processus pour effectuer des tâches spécifiques dans Oracle Database à l’aide de BizTalk Server.
Cette rubrique montre comment configurer l’adaptateur Oracle Database pour recevoir des messages de notification de requête incrémentiels d’Oracle. Pour illustrer les notifications progressives, nous considérons une table ACCOUNTACTIVITY avec une colonne « Traité ». Lorsqu’un nouvel enregistrement est inséré dans cette table, la valeur de la colonne « Traité » est définie sur « n ». Vous pouvez configurer l’adaptateur pour recevoir des notifications incrémentielles en procédant comme suit :
Inscrivez-vous aux notifications à l’aide d’une instruction SELECT qui récupère tous les enregistrements dont la colonne « Traité » a la valeur « n ». Pour ce faire, spécifiez l’instruction SELECT pour la propriété de liaison NotificationStatement .
Pour les lignes qui ont été signalées, mettez à jour la colonne « Traité » sur 'y'.
Cette rubrique montre comment créer une orchestration BizTalk et configurer une application BizTalk pour y parvenir.
Configurer les notifications avec les paramètres de liaison de l’adaptateur Oracle Database
Le tableau suivant récapitule les propriétés de liaison d’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 Administration de BizTalk Server.
Remarque
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 s’il n’est pas obligatoire. Si c’est le cas, le fichier de liaison de port généré par le complément de service Consommation d’adaptateur 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 Administration de BizTalk Server pour créer le port de réception personnalisé ou WCF-OracleDB WCF avec les propriétés de liaison déjà définies. Pour plus d’informations sur la création d’un port de réception à l’aide du fichier de liaison, consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port vers Oracle Database.
| Propriété de liaison | Descriptif |
|---|---|
| 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 qu'ODP.NET doit ouvrir pour recevoir les notifications 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 au démarrage de l’écouteur. |
Pour obtenir une description plus complète de ces propriétés, consultez Utilisation de l’adaptateur BizTalk pour les propriétés de liaison de base de données Oracle. 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 en détail.
Comment cette rubrique illustre la réception de messages de notification
Dans cette rubrique, pour montrer comment l’adaptateur Oracle Database prend en charge la réception des messages de notification de modification de base de données incrémentielle de la base de données Oracle, nous allons configurer l’adaptateur pour recevoir des notifications pour les modifications apportées à la table ACCOUNTACTIVTY. Supposons que la table ACCOUNTACTIVITY comporte des colonnes « TID », « Account » et « Processed ». Chaque fois qu’un nouvel enregistrement est ajouté, la valeur de la colonne « Traité » est définie sur « n ». Par conséquent, pour obtenir des notifications incrémentielles, vous devez effectuer les tâches suivantes dans le cadre de l’orchestration BizTalk :
Obtenez une notification pour tous les enregistrements où « Traité » est « n ». Pour ce faire, spécifiez une instruction SELECT en tant qu’instruction de notification.
Une fois la notification reçue pour un enregistrement donné, réglez « Traité » sur « y ». Pour ce faire, exécutez une procédure stockée, PROCESS_RECORDS, qui met à jour la colonne « Traité ».
Pour illustrer la réception de notifications incrémentielles, nous procédons comme suit :
Générez un schéma pour la notification (opération entrante) et PROCESS_RECORDS (opération sortante) sur la table ACCOUNTACTIVITY.
Créez une orchestration avec les éléments suivants :
Emplacement de réception pour recevoir des messages de notification. Vous pouvez configurer pour la notification en spécifiant l’instruction SELECT comme suit :
SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’Remarque
Vous devez spécifier le nom de la table avec le nom du schéma. Par exemple :
SCOTT.ACCOUNTACTIVITY.Port d’envoi pour mettre à jour les lignes pour lesquelles la notification a déjà été envoyée. Vous allez exécuter la procédure stockée PROCESS_RECORDS sur ce port pour définir la valeur de la colonne « Traité » sur « y » pour les enregistrements pour lesquels la notification est reçue.
Notez que cette opération doit être exécutée après avoir reçu les messages de notification afin que les lignes traitées soient mises à jour. Pour éliminer le fardeau des délais pour obtenir la réponse de notification, puis transmettre manuellement un message de demande pour exécuter la procédure PROCESS_RECORDS, vous allez générer le message de demande pour la procédure PROCESS_RECORDS directement dans l’orchestration. Vous pouvez le faire à l’aide de la forme Construire un message au sein d’une orchestration.
Comment recevoir des messages de notification à partir de la base de données Oracle
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 Les blocs de construction pour développer des applications BizTalk avec Oracle Database. Pour configurer l’adaptateur pour recevoir des messages de notification, ces tâches sont les suivantes :
Créez un projet BizTalk, puis générez un schéma pour la notification (opération entrante) et PROCESS_RECORDS procédure (opération sortante) sur la table ACCOUNTACTIVITY. Si vous le souhaitez, vous pouvez spécifier des valeurs pour les propriétés de liaison InboundOperationType, NotificationPort et NotificationStatement .
Créez un message dans le projet BizTalk pour recevoir une notification à partir de la base de données Oracle.
Créez des messages dans le projet BizTalk pour exécuter la procédure stockée PROCESS_RECORDS et recevoir des messages de réponse.
Créez une orchestration qui effectue les opérations suivantes :
Reçoit le message de notification de la base de données Oracle.
Crée un message pour exécuter la procédure PROCESS_RECORDS.
Envoie ce message à la base de données Oracle pour sélectionner et mettre à jour les enregistrements et recevoir une réponse.
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.
Remarque
Pour les opérations entrantes, telles que la réception de messages de notification, vous devez configurer uniquement un port de réception unidirectionnel WCF-Custom ou WCF-OracleDB. Les ports de réception bidirectionnels ne sont pas supportés pour les opérations entrantes.
Démarrez l’application BizTalk.
Cette rubrique fournit des instructions pour effectuer ces tâches.
Génération d’un schéma
Vous devez générer le schéma pour l’opération de notification et PROCESS_RECORDS procédure. Pour plus d’informations sur la génération du schéma , consultez Récupérer les métadonnées pour les opérations 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.
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 de l’adaptateur BizTalk pour les propriétés de liaison de base de données Oracle. Pour obtenir des instructions sur la façon de spécifier des propriétés de liaison, consultez Spécification des propriétés de liaison.
Sélectionnez le type de contrat en tant que service (opérations entrantes).
Générez le schéma pour l’opération de notification .
Sélectionnez le type de contrat en tant que client (opérations sortantes).
Générez le schéma de la procédure PROCESS_RECORDS . Cette procédure est disponible sous le package ACCOUNT_PKG .
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 trois messages : un pour recevoir des notifications de la base de données Oracle, un pour exécuter la procédure PROCESS_RECORDS et un pour recevoir la réponse de la procédure.
Effectuez les étapes suivantes pour créer des messages et les lier au schéma.
Pour créer des messages et créer un lien vers le schéma
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 d’affichage orchestration du projet BizTalk, si elle n’est pas déjà ouverte. Cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Mode Orchestration.
Dans l’affichage 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 Message_1, procédez comme suit :
Utiliser cette option Pour ce faire Identificateur Tapez NotifyReceive.Type de message Dans la liste déroulante, développez Schémas et sélectionnez OracleNotifyIncremental.OracleDBBinding.Notification, où OracleNotifyIncremental est le nom de votre projet BizTalk. OracleDBBinding est le schéma généré pour l’opération de notification . Répétez l’étape 3 pour créer deux nouveaux messages. Dans le volet Propriétés du nouveau message, procédez comme suit :
Définir l’identificateur sur Définissez le type de message sur Procédure OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDS, où OracleDBBinding1 est le schéma généré pour la procédure PROCESS_RECORDS . Réponse de procédure OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDSResponse
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 mettre à jour les lignes pour lesquelles la notification a été reçue. Dans cette orchestration, l’adaptateur reçoit le message de notification en fonction de l’instruction SELECT spécifiée pour la propriété de liaison NotificationStatement . Le message de notification est reçu à un emplacement FILE. Une fois la réponse reçue, l’orchestration construit un message pour appeler la procédure PROCESS_RECORDS, qui met à jour les lignes pour lesquelles la notification est reçue. La réponse à ce message est également reçue au même emplacement de fichier.
Par conséquent, votre orchestration doit contenir les éléments suivants :
Un port de réception WCF-Custom ou WCF-OracleDB unidirectionnel pour recevoir des messages de notification.
Un port d’envoi bidirectionnel WCF-Custom ou WCF-OracleDB pour envoyer des messages pour exécuter la procédure de PROCESS_RECORDS.
Forme Construire un message pour construire des messages et exécuter la procédure PROCESS_RECORDS dans l’orchestration.
Port d’envoi FILE pour enregistrer le message de notification et la réponse de la procédure de PROCESS_RECORDS.
Recevoir et envoyer des formes.
Un exemple d’orchestration ressemble à ce qui suit.
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 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 |
|---|---|---|
| RecevoirNotification | Recevoir | - Définir Name à ReceiveNotification - Définir Activer sur True |
| SaveNotification | Envoyer | - Définissez le nom sur SaveNotification |
| SendProcMessage | Envoyer | - Définir le nom sur SendProcMessage |
| ReceiveProcResponse | Recevoir | - Définir Nom sur ReceiveProcResponse |
| SaveProcResponse | Envoyer | - Définissez nom sur SaveProcResponse |
Ajout d’une forme de message de construction
Vous pouvez utiliser la forme Construire un message pour générer un message de requête dans l’orchestration pour exécuter la procédure PROCESS_RECORDS. Pour ce faire, vous devez ajouter une forme Construire un message et dans celle-ci une forme d’affectation de message à votre orchestration. Pour cet exemple, la forme Affectation de message appelle du code qui génère un message envoyé à la base de données Oracle pour exécuter la procédure. La forme Affectation de message définit également l’action pour que le message soit envoyé à la base de données Oracle.
Pour la forme de construction du message, définissez la propriété Message Constructed sur Procedure.
Le code permettant de générer la réponse peut faire partie de la même solution Visual Studio que votre projet BizTalk. Un exemple de code permettant de générer un message de réponse ressemble à ceci.
namespace SampleMessageCreator
{
public class SampleMessageCreator
{
private static XmlDocument Message;
private static string XmlFileLocation;
private static string ResponseDoc;
public static XmlDocument XMLMessageCreator()
{
XmlFileLocation = "C:\\TestLocation\\MessageIn";
try
{
ResponseDoc = (Directory.GetFiles(XmlFileLocation, "*.xml", SearchOption.TopDirectoryOnly))[0];
}
catch (Exception ex)
{
Console.WriteLine("Trying to get XML from: " + XmlFileLocation);
Console.WriteLine("EXCEPTION: " + ex.ToString());
throw ex;
}
//Create Message From XML
Message = new XmlDocument();
Message.PreserveWhitespace = true;
Message.Load(ResponseDoc);
return Message;
}
}
}
Pour que l’extrait de code ci-dessus puisse générer un message de requête, vous devez disposer d’un message de requête XML (pour la procédure PROCESS_RECORDS) à l’emplacement spécifié pour la XmlFileLocation variable.
Remarque
Une fois que vous aurez construit le projet, MessageCreator.dll sera créé dans le répertoire du projet. Vous devez ajouter cette DLL au Global Assembly Cache (GAC). En outre, vous devez ajouter le MessageCreator.dll en tant que référence dans le projet BizTalk.
Ajoutez l’expression suivante pour appeler ce code à partir de la forme Affectation de message et définir l’action pour le message. Pour ajouter une expression, double-cliquez sur la forme Affectation de message pour ouvrir l’Éditeur d’expression.
Procedure = SampleMessageCreator.SampleMessageCreator.XMLMessageCreator();
Procedure(WCF.Action) = "http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG/PROCESS_RECORDS";
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, comme indiqué dans l’orchestration.
| Port | Propriétés |
|---|---|
| OracleNotifyPort | - Configurer l’identificateur à OracleNotifyPort - Définir le type comme OracleNotifyPortType - Définir le modèle de communication sur unidirectionnel - Définir la direction de communication sur recevoir |
| SaveMessagePort | - Définir Identificateur à SaveMessagePort - Définir Type sur SaveMessagePortType - Définir le modèle de communication sur unidirectionnel - Définir le sens de communication sur Envoyer - Créer une opération Notify. Cette opération est utilisée pour les messages de notification. - Créer une procédure d’opération. Cette opération est utilisée pour sélectionner des messages de réponse. |
| OracleOutboundPort | - Définir l’identificateur à OracleOutboundPort - Configurer Type sur OracleOutboundPortType - Définir le modèle de communication sur Demande-Réponse - Définir la direction de communication pour envoyer-recevoir |
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 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 |
|---|---|
| RecevoirNotification | - Définir Message sur NotifyReceive - Définir l’opération sur OracleNotifyPort.Notify.Request |
| SaveNotification | - Définir Message sur NotifyReceive - Définir l’opération à SaveMessagePort.Notify.Request |
| SendProcMessage | - Définir Message à Procedure - Définir l’opération sur OracleOutboundPort.Procedure.Request |
| ReceiveProcResponse | - Définir le message sur ProcedureResponse - Définir l’opération sur OracleOutboundPort.Procedure.Response |
| SaveProcResponse | - Définir le message sur ProcedureResponse - Définir l’opération sur SaveMessagePort.Procedure.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.
Vous devez maintenant générer la solution BizTalk et la déployer sur un serveur BizTalk. 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 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 port de réception à sens unique physique WCF-Custom ou WCF-OracleDB. 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 sur l’adaptateur Oracle Database. 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, avec les propriétés de liaison requises définies, en important le fichier de liaison créé par l’extension Consume Adapter Service. Pour plus d’informations , consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port vers Oracle Database.
Propriété de liaison Valeur InboundOperationType Définissez cette valeur sur Notification. NotificationPort Spécifie le numéro de port qu'ODP.NET doit ouvrir pour recevoir les notifications de modification de la base de données Oracle. Définissez-le sur le même numéro de port que celui que vous devez avoir ajouté à la liste des exceptions du Pare-feu Windows. Pour obtenir des instructions sur l’ajout de ports à la liste des exceptions du Pare-feu Windows, consultez https://go.microsoft.com/fwlink/?LinkID=196959.
Important: Si vous définissez cette valeur par défaut sur -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 avec 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 de l’adaptateur BizTalk pour les propriétés de liaison de base de données Oracle.
Remarque
Nous vous recommandons de configurer le niveau d’isolation des transactions et le délai d’expiration des transactions lors de l’exécution d’opérations entrantes à l’aide de l’adaptateur Oracle Database. Vous pouvez le faire en ajoutant 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.
Définissez un WCF-Custom physique ou un port d’envoi WCF-OracleDB pour envoyer des messages à la base de données Oracle pour exécuter la procédure de PROCESS_REOCRDS. Vous devez également spécifier l’action dans le port d’envoi.
Définissez un emplacement sur le disque dur et un port de fichier correspondant où l’orchestration BizTalk supprime les messages de la base de données Oracle. Il s’agit des messages de notification reçus de la base de données Oracle et des messages pour la procédure de PROCESS_RECORDS que vous exécutez via le port d’envoi WCF-Custom ou WCF-OracleDB.
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 exécuter la procédure de PROCESS_RECORDS. 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 unidirectionnel de réception WCF-Custom ou WCF-OracleDB, qui reçoit les messages de notification de la base de données Oracle, est en cours d'exécution.
Le port d’envoi WCF-Custom ou WCF-OracleDB pour exécuter la procédure PROCESS_RECORDS est en cours d’exécution.
Le port d’envoi FILE, qui reçoit des messages de la base de données Oracle, est en cours d’exécution.
L’orchestration de BizTalk pour l’opération est en cours.
Exécution de l’opération
Supposons que la table ACCOUNTACTIVITY possède déjà des enregistrements. Vérifiez également que le message XML de la procédure PROCESS_RECORDS à exécuter est disponible à l'adresse C:\TestLocation\MessageIn. Le fichier XML doit ressembler à ce qui suit :
<PROCESS_RECORDS xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"/>
Une fois l’orchestration BizTalk démarrée, l’ensemble d’actions suivant a lieu, dans la même séquence :
L’adaptateur reçoit un message de notification semblable à ce qui suit :
\<?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>Ce message informe que le port de réception pour la réception des messages de notification est démarré. Notez que la valeur de l’élément
<Info>est « ListnerStarted ».L’adaptateur exécute la procédure PROCESS_RECORDS. La réponse suivante de la base de données Oracle concerne la procédure.
<?xml version="1.0" encoding="utf-8" ?> <PROCESS_RECORDSResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"> <TABLE_DATA> <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element msdata:IsDataSet="true" name="NewDataSet"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="NewTable"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="TID" type="xs:decimal" /> <xs:element minOccurs="0" name="ACCOUNT" type="xs:decimal" /> <xs:element minOccurs="0" name="PROCESSED" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <NewDataSet xmlns=""> <NewTable> <TID>1</TID> <ACCOUNT>100001</ACCOUNT> <PROCESSED>n</PROCESSED> </NewTable> <NewTable> ...... ...... </NewTable> ...... ...... </NewDataSet> </diffgr:diffgram> </TABLE_DATA> </PROCESS_RECORDSResponse>Il s’agit de la réponse de l’instruction SELECT exécutée dans le cadre de la procédure PROCESS_RECORDS.
La procédure PROCESS_RECORDS met également à jour les lignes pour définir PROCESSED sur « y ». Par conséquent, l’adaptateur reçoit une autre notification pour l’opération de mise à jour.
<?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 l’élément
Infocontient « Update ».Après la deuxième notification, l’adaptateur réexécute la procédure PROCESS_RECORDS. Toutefois, étant donné qu’il n’existe pas d’enregistrements où la colonne PROCESSED est définie sur « n », la procédure retourne une réponse vide semblable à ce qui suit.
<?xml version="1.0" encoding="utf-8" ?> <PROCESS_RECORDSResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"> <TABLE_DATA> <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element msdata:IsDataSet="true" name="NewDataSet"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="NewTable"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="TID" type="xs:decimal" /> <xs:element minOccurs="0" name="ACCOUNT" type="xs:decimal" /> <xs:element minOccurs="0" name="PROCESSED" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <NewDataSet xmlns="" /> </diffgr:diffgram> </TABLE_DATA> </PROCESS_RECORDSResponse>
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 les ports d’envoi et de recevoir les ports 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.
Voir aussi
Réception de notifications de modification de base de données Oracle à l’aide de BizTalk Server