Activité Interroger table

L'activité Interroger table vérifie si une opération de base de données (insertion ou mise à jour) s'est produite sur des lignes d'une table de base de données, en vérifiant l'état d'une colonne d'indicateur spécial, à un intervalle spécifié.

A l'exécution, pour les opérations d'insertion et de mise à jour, l'activité Interroger table renvoie les données qui ont été modifiées dans la table de base de données et mappe directement ces données sur des variables dans l'orchestration alors que les activités Obtenir lignes insérées et Obtenir lignes mises à jour renvoient les données modifiées dans une table tampon et que cette dernière est mappée sur une variable de l'orchestration.
Remarque : Utilisez l'activité Interroger table plutôt que les activités Obtenir lignes insérées, Obtenir lignes supprimées et Obtenir lignes mises à jour uniquement lorsque vous devez éviter d'ajouter des déclencheurs à votre base de données.
Avant de configurer l'activité Interroger table dans Studio, vous devrez créer deux colonnes de base de données supplémentaires dans votre table de base de données source ou utiliser deux colonnes de base de données existantes appropriées, provenant de votre table de base de données. Les colonnes de base de données suivantes sont requises dans votre table de base de données source :
  • Une colonne de séquence de type INTEGER - Cette colonne contient les clés primaires (une séquence de numéros uniques : 1, 2, 3 ...)
  • Une colonne d'indicateur de type CHAR(1) - Cette colonne contient un indicateur utilisé par le dispositif d'intégration en phase d'exécution pour déterminer si le dispositif doit traiter la ligne.

Pour qu'une orchestration avec une activité Interroger table soit exécutée sur le dispositif d'intégration, vous devez également remplir ces colonnes dans votre table de base de données. Définissez la colonne d'indicateur sur P si vous ne souhaitez pas que le dispositif d'intégration traite la ligne en phase d'exécution. Définissez la colonne d'indicateur sur null si vous souhaitez que le dispositif d'intégration traite la ligne en phase d'exécution.

Dans l'exemple de table de base de données suivant, toutes les valeurs de la colonne Indicateur sont initialement définies par P, comme indiqué dans la figure suivante :
Personnaliser interrogation
Avertissement : Vous devez gérer l'état de la colonne d'indicateur. Après avoir traité une ligne, le dispositif d'intégration remplace la valeur de la colonne d'indicateur par P pour "processed", comme indiqué dans l'exemple de scénario suivant :
  1. Une ligne est insérée dans la base de données. La colonne d'indicateur est définie sur null pour la ligne.
  2. L'activité Interroger table s'exécute pour la première fois et définit la valeur de l'indicateur par P pour cette ligne.
  3. La même ligne est mise à jour et l'activité Interroger table s'exécute à nouveau. La ligne n'est pas renvoyée dans les données de retour de l'activité car le dispositif d'intégration a vérifié la colonne d'indicateur et l'indicateur a signalé que cette ligne avait déjà été traitée.

Pour qu'une ligne soit traitée à nouveau par le dispositif d'intégration, vous devez réinitialiser la colonne d'indicateur à null avant l'exécution d'un travail d'orchestration avec une activité Interroger table accédant à la même table de base de données source.

Ajouter une activité Interroger table à l'orchestration

  1. Créez ou ouvrez une orchestration. Une représentation graphique de l'orchestration apparaît.
  2. Sélectionnez l'onglet Activités et développez le dossier Base de données.
  3. Déplacez l'activité Interroger table sur l'orchestration.
  4. Sélectionnez l'activité Interroger table.

Créer, sélectionner ou éditer un noeud final de base de données

  1. Cliquez sur la tâche Sélectionner le noeud final dans la liste de contrôle et sélectionnez l'une des actions suivantes :
    • Sélectionnez un noeud final existant :
      1. Sélectionnez Parcourir. L'Explorateur de projet s'ouvre.
      2. Sélectionnez un noeud final existant et cliquez sur OK. Passez à la procédure Spécifiez les colonnes de la table source dans lesquelles rechercher les opérations de base de données.
    • Sélectionnez un noeud final existant et éditez-le.
      1. Sélectionnez Parcourir. L'Explorateur de projet s'ouvre.
      2. Sélectionnez un noeud final existant et cliquez sur OK.
      3. Cliquez sur Editer. Le panneau Editer un noeud final apparaît.
    • Créez un noeud final.
      1. Sélectionnez Nouveau. Le panneau Créer un noeud final s'ouvre.
  2. Créez ou éditez un noeud final de base de données.

Spécifiez les colonnes de la table source dans lesquelles rechercher les opérations de base de données

  1. Cliquez sur Sélectionner le noeud final dans la Liste de contrôle. Le panneau Sélectionner un noeud final apparaît.
  2. Cliquez sur Parcourir. La boîte de dialogue Sélectionner une table source unique s'ouvre.
  3. Sélectionnez une table qui, pendant l'exécution, sera interrogée par l'activité Interroger table à la recherche d'opérations de base de données.
  4. Sélectionnez un schéma utilisateur dans la liste Filtrer par schéma utilisateur.
  5. Sélectionnez Masquer les tables tampon et de contrôle pour filtrer les tables tampon ou de contrôle utilisées par le dispositif d'intégration.
    Remarque : Ce filtre ne masque que les tables tampon ou de contrôle qui utilisent les noms standard générés dans des scripts de Studio.
  6. Sélectionnez une table unique dans la liste :
    • Cliquez sur >> pour ajouter une table.
    • Cliquez sur << pour supprimer une table.
  7. Si vous souhaitez uniquement rechercher des opérations de base de données sur des colonnes de clé primaire de la table source, cochez la case Sélectionner uniquement les clés primaires dans la table.
  8. Cliquez sur OK. Les colonnes de la table apparaissent dans le panneau Sélectionner la table. (Si vous avez sélectionné la case Sélectionner uniquement les clés primaires dans la table, seules les colonnes de clé primaires apparaissent.)
  9. Si le codage de caractère de cette table est différent du codage de la base de données, entrez un autre codage à l'aide de l'une des options suivantes :
    • Dans la liste Codage, sélectionnez l'un des types de codage par défaut.
    • Entrez le type de codage directement en cliquant dans la zone Codage et en saisissant le type de codage.
  10. Sélectionnez les colonnes de la table dans lesquelles, pendant l'exécution, l'activité Interroger table doit rechercher les opérations de base de données (insertion, suppression ou mise à jour).Par défaut, toutes les colonnes sont sélectionnées. Désélectionnez la case Utiliser pour les colonnes que vous n'utilisez pas. Cliquez sur Tout utiliser pour resélectionner toutes les colonnes.
  11. Cliquez sur l'en-tête de la colonne pour trier les lignes par valeur de colonne. Par exemple, pour trier les lignes par nom de colonne, cliquez dans l'en-tête Nom de colonne. Une flèche apparaît à droite du nom de l'en-tête de colonne. Une flèche vers le haut indique que la colonne est triée par ordre alphabétique, de a à z. Une flèche vers le bas indique que la colonne est triée par ordre alphabétique inversé, de z à a. Cliquez sur la flèche pour inverser l'ordre alphabétique.
  12. Si nécessaire, modifiez les valeurs de Type de données, Codage ou NULL admis pour chaque paramètre d'entrée de requête. Cliquez sur la zone pour effectuer une nouvelle sélection :
    • Type de données - Par défaut, type de données de la colonne dans la table de base de données source. Si le type de données requis pour la colonne de la table tampon est différent du type de données de la table source, sélectionnez un type de données différent en cliquant dans la cellule Type de données et en sélectionnant un autre type de données dans la liste. Vous devez sélectionner un type de données approprié pour les types de données identifiés UNSUPPORTED
      Remarque : (pour les types de données MONEY et XMLTYPE). Pour le type de données XMLTYPE dans une base de données Oracle et les types de données MONEY dans une base de données SQL Server, Studio n'associe pas automatiquement le type de données correct, vous devez donc sélectionner manuellement le type de données approprié.
    • Taille - Taille de la colonne définie dans la table. Cette taille est extraite de la table de base de données et n'est pas configurable.
    • Codage - Par défaut, codage par défaut en cours, défini au niveau de la base de données ou de la table. Si le codage requis pour la colonne est différent du codage par défaut en cours, sélectionnez un codage différent en cliquant dans la cellule Codage et en sélectionnant un autre Codage dans la liste.
    • NULL admis - Par défaut, paramètre NULL admis de la colonne dans la table de base de données source. Si nullable = false, la colonne doit être incluse dans le message. La case Utiliser doit être sélectionnée pour les colonnes où nullable=false. Une colonne marquée nullable=false ne peut pas contenir de caractère NULL en phase d'exécution.

Sélectionner les colonnes de séquence et d'indicateur

  1. Sélectionnez l'option Sélectionner des colonnes dans la Liste de contrôle.
  2. Sélectionnez une Colonne de séquence dans la liste. Il s'agit de la colonne de séquence de type INTEGER contenant les clés primaires (une séquence de numéros uniques : 1, 2, 3 ...) que vous avez ajoutée à la table de base de données source ou pour laquelle vous avez déterminé que vous pouviez utiliser une colonne existante dans votre table de base de données source.
  3. Sélectionnez une Colonne d'indicateur dans la liste. Une colonne d'indicateur de type CHAR contenant un indicateur que le dispositif d'intégration définit par P lorsqu'il a traité la ligne. Le dispositif d'intégration utilise les colonnes de séquence et d'indicateur pour rechercher les messages dupliqués.En outre, les deux colonnes et le paramétrage de la case Supprimer les lignes une fois qu'elles ont été traitées dans le panneau Règles de distribution sont utilisés par le dispositif d'intégration pour déterminer l'action pour une demande de suppression :
    •  Si la case Supprimer les lignes une fois qu'elles ont été traitées est cochée, le dispositif d'intégration définit l'indicateur à M, puis supprime la ligne.
    • Si la case Supprimer les lignes une fois qu'elles ont été traitées est désélectionnée, le dispositif d'intégration définit l'indicateur à M, puis à P mais la ligne n'est pas supprimée. Pour qu'une ligne soit traitée à nouveau par le dispositif d'intégration, vous devez réinitialiser la colonne d'indicateur à null avant l'exécution d'un travail d'orchestration avec une activité Interroger table accédant à la même table de base de données source.
  4. Configurez les Règles de distribution.
    Remarque : Si vous sélectionnez l'option Une fois exactement dans la tâche Règles de distribution, vous devez créer des tables de contrôle qui sont utilisées par le dispositif d'intégration en phase d'exécution. Vous créez les tables de contrôle près avoir publié l'orchestration depuis Studio vers le dispositif d'intégration. Vous créez les tables de contrôle à l'aide de la console de gestion Web avant de déployer le projet.
    Remarque : Si vous sélectionnez l'option Une fois exactement, vous devez activer la persistance. Pour plus d'informations, voir Activation de la persistance.
  5. Configurez les Options de nouvelle tentative.

Mappez la sortie de l'activité

  1. Sélectionnez la tâche Mapper les sorties dans la Liste de contrôle. Les paramètres de sortie de l'activité sont affichés sous l'élément row dans le panneau Depuis l'activité. Les paramètres de sortie affichés dans le panneau Depuis l'activité correspondent aux colonnes que vous avez sélectionnées dans la tâche Sélectionner la table. Si l'option Par lots a été sélectionnée dans Règles de distribution, le symbole d'occurrences multiples apparaît en regard de l'élément row.
    Remarque : A l'exécution, le paramètre de sortie rows de l'activité Interroger table n'est pas rempli avec les valeurs des colonnes de séquence et d'indicateur. Seules les colonnes sélectionnées dans la tâche Sélectionner la table sont renvoyées.
  2. Mappez les paramètres de sortie obligatoires sur des variables. Voir Création d'une mappe pour des instructions générales sur le mappage. Il n'est pas obligatoire de mapper les paramètres de sortie pour cette activité.