Déploiement et omission d'enregistrements sélectifs lors de l'utilisation de CDT
Les données sont importées complètement lorsque vous utilisez CDT pour importer des données des bases de données source vers les bases de données cible. Vous pouvez utiliser les modes Ignore et AppendOnly pour importer les données en fonction de vos besoins métier. Lorsque vous ignorez certaines tables, les tables ignorées ne sont pas importées lors du déploiement.
Si vous devez importer les tables mais ignorer certains enregistrements spécifiques à l'environnement, tels que PLT_PROPERTY ou YFS_COMMON_CODE, vous pouvez ignorer ces valeurs spécifiques lors de l'importation à l'aide du mode RecordFilter . Les valeurs ignorées ne sont pas remplacées dans la base de données cible.
Processus
CDT lit ou stocke ydkprefs.xml pour ses configurations et préférences.
Pour effectuer un déploiement d'enregistrement sélectif, le mode RecordFilter est défini sous SourceTargetPrefs afin de définir les préférences de données pour le déploiement à partir de tables spécifiques. CDT évalue l'élément RecordFilter et supprime les enregistrements de la source qui correspondent aux critères. Toutefois, il n'applique pas le même RecordFilter sur la cible pour éviter l'analyse des enregistrements qui n'existent pas dans la source après l'application de RecordFilter . A la place, il sélectionne uniquement les enregistrements qui ont été extraits de la source avec RecordFilter. Le processus RecordFilter se produit avant la transformation pour s'assurer que la transformation est appliquée uniquement aux enregistrements sélectionnés.
<RecordFilter>
<Table Name="PLT_PROPERTY">
<Column Name="PROPERTY_NAME" NotValue="sc.file.upload.maxfilesize"/>
</Table>
</RecordFilter>L'exemple montre que les enregistrements de propriété sc.file.upload.maxfilesize sont ignorés à partir des données source lors de l'exportation et ne sont pas remplacés dans les données cible lors de l'importation de données à l'aide de CDT.Préférences RecordFilter
- Définissez les tables sous la balise RecordFilter pour sélectionner les données.
- Définissez les éléments sous les tables qui sont définies dans RecordFilter.
Tableau 1. Eléments de table Elément Description Et Si vous souhaitez ajouter plusieurs colonnes pour une table, vous pouvez utiliser l'élément And, puis ajouter les éléments de colonne avec des attributs. Pour la liste des attributs, voir Attributs de colonne.Ou Si vous souhaitez ajouter plusieurs colonnes pour une table, vous pouvez utiliser l'élément Or, puis ajouter les éléments de colonne avec des attributs. Pour la liste des attributs, voir Attributs de colonne.Colonne Sélectionnez l'élément Columndans la table avec ses valeurs d'attribut. Pour la liste des attributs, voir Attributs de colonne.Remarque: la combinaison deAndet deOrn'est pas prise en charge. - Fournissez des colonnes avec le nom et une expression pour sélectionner les enregistrements.
- Les expressions sont prises en charge par plusieurs attributs. Utilisez le tableau suivant pour les attributs pris en charge et l'équivalent SQL.
Tableau 2. Attributs de colonne Attribut Description Equivalent SQL Value = "données " Une colonne doit être égale aux données pour sélectionner un enregistrement. = 'data'Not Value = "données " Une colonne ne doit pas être égale aux données permettant de sélectionner un enregistrement. != 'data'Correspondance = "données " Une colonne doit contenir les données sous forme de sous-chaîne pour sélectionner un enregistrement. LIKE '%DATA%'NotMatch = "données " Une colonne ne doit pas contenir de données en tant que sous-chaîne pour sélectionner un enregistrement. NOT LIKE '%DATA%'Values = "data1,data2,data3" Une colonne doit comporter l'une des données mentionnées pour sélectionner un enregistrement. Evitez les espaces entre les données. IN (data1, data2, data3)NotValues ="data1,data2,data3" Une colonne ne doit pas comporter les données mentionnées pour sélectionner un enregistrement. Evitez les espaces entre les données. NOT IN (data1, data2, data3)IsNull = "O/N " Une colonne peut être null si IsNull est Y et non null si IsNull est N pour sélectionner un enregistrement. IS NULLouIS NOT NULL
- Deux attributs facultatifs sont fournis avec
ValuesouNotValues.- Délimiteur: Si les données contiennent une virgule, vous pouvez utiliser cet attribut pour définir le délimiteur.
- IncludeNull : Vous pouvez inclure une valeur nulle en plus de toutes les valeurs.
- Si la balise de table contient plusieurs colonnes, les colonnes peuvent être regroupées avec
AndouOr. La combinaison deAndetOrn'est pas prise en charge. - Un élément de table peut contenir des éléments enfant uniques
Column,AndouOr.
Exemple de structure RecordFilter dans ydkprefs.xml
<SourceTargetPrefs>
<SourceTargetPair SourceDatabase="XXX" TargetDatabase="YYYY">
<Transformations>
.....................
</Transformations>
<RecordFilter>
<Table Name="TABLE1">
<Column Name="COLUMN1" Value="Some Value"/>
</Table>
<Table Name="TABLE2">
<Or>
<Column Name="COLUMN1" Value="Some Value"/>
<Column Name="COLUMN2" NotValue="Some Value"/>
<Column Name="COLUMN3" Match="Some Expression" />
<Column Name="COLUMN4" Values="value1,value2,value3" IncludeNull="Y"/>
<Column Name="COLUMN5" IsNull="Y/N" />
</Or>
</Table>
<Table Name="TABLE3">
<And>
<Column Name="COLUMN1" Value="Some Value"/>
<Column Name="COLUMN2" Match="Some Expression"
<Column Name="COLUMN3" NotMatch="Some Expression" />
<Column Name="COLUMN4" NotValues="value1,value2,value3"/>
<Column Name="COLUMN5" Values="val,ue1;value2;val,ue3" Delimeter=";" />
</And>
</Table>
</RecordFilter>
<Ignore>
........................
</Ignore>
<AppendOnly>
........................
</AppendOnly>
</SourceTargetPair>
</SourceTargetPrefs>