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.
Dans le flux de données d'un package Integration Services qui effectue un chargement incrémentiel des données modifiées, la deuxième tâche consiste à séparer les insertions, les mises à jour et les suppressions. Ensuite, vous pouvez utiliser des commandes appropriées pour les appliquer à la destination.
[!REMARQUE]
La première tâche pour concevoir le flux de données d'un package qui effectue un chargement incrémentiel des données modifiées consiste à configurer le composant source qui exécute la requête qui récupère les données modifiées. Pour plus d'informations sur ce composant, consultez Récupérer et comprendre les données modifiées. Pour obtenir une description du processus d'ensemble de la création d'un package qui effectue un chargement incrémentiel des données modifiées, consultez Capture de données modifiées (SSIS).
Association de valeurs conviviales pour séparer des insertions, des mises à jour et des suppressions
Dans l'exemple de requête qui récupère les données modifiées, la fonction cdc.fn_cdc_get_net_changes_<capture_instance> retourne uniquement la colonne de métadonnées nommée __$operation. Cette colonne de métadonnées contient une valeur ordinale qui indique l'opération ayant entraîné la modification.
[!REMARQUE]
Pour plus d'informations sur la requête qui utilise la fonction cdc.fn_cdc_get_net_changes_<capture_instance>, consultez Créer la fonction de récupération des données modifiées.
La mise en correspondance d'une valeur ordinale à son opération associée n'est pas aussi facile que d'utiliser un mnémonique de l'opération. Par exemple, 'D' peut facilement représenter une opération de suppression (Delete) et 'I' une opération d'insertion. L'exemple de requête créé dans la rubrique Création de la fonction de récupération des données modifiées effectue cette conversion d'une valeur ordinale en valeur de chaîne conviviale qui est retournée dans une nouvelle colonne. Le segment de code suivant illustre cette conversion :
select
...
case __$operation
when 1 then 'D'
when 2 then 'I'
when 4 then 'U'
else null
end as CDC_OPERATION
Configuration d'une transformation de fractionnement conditionnel pour diriger des insertions, des mises à jour et des suppressions
Pour diriger des lignes de données modifiées vers l'une des trois sorties, la transformation de fractionnement conditionnel est idéale. La transformation vérifie simplement la valeur de la colonne CDC_OPERATION dans chaque ligne et détermine si cette modification est une insertion, une mise à jour ou une suppression.
[!REMARQUE]
La colonne CDC_OPERATION contient une valeur de chaîne conviviale dérivée à partir de la valeur numérique dans la colonne __$operation.
Pour fractionner des insertions, des mises à jour et des suppressions à des fins de traitement à l'aide d'une transformation de fractionnement conditionnel
Sous l'onglet Flux de données, ajoutez une transformation de fractionnement conditionnel.
Connectez la sortie de la source OLE DB à la transformation de fractionnement conditionnel.
Dans l'Éditeur de transformation de fractionnement conditionnel, dans le volet inférieur de l'éditeur, entrez les trois lignes suivantes pour désigner les trois sorties.
Entrez une ligne avec la condition CDC_OPERATION == "I" pour diriger des lignes insérées vers la sortie pour des insertions.
Entrez une ligne avec la condition CDC_OPERATION == "U" pour diriger des lignes mises à jours vers la sortie pour des mises à jours.
Entrez une ligne avec la condition CDC_OPERATION == "D" pour diriger des lignes supprimées vers la sortie pour des suppressions.
Étape suivante
Après avoir fractionné les lignes à des fins de traitement, l'étape suivante consiste à appliquer les modifications à la destination.
Rubrique suivante : Appliquer des modifications à la destination
|
Voir aussi
Tâches
Fractionner un dataset à l'aide de la transformation de fractionnement conditionnel
Rester à jour avec Integration Services