Altova DiffDog Server 2025 

[datadiff]: Configurer une comparaison

Accueil Préc Haut Suivant

Une comparaison de données est définie dans une section [datadiff] du fichier de configuration client ou fichier de configuration serveur, puis executée en appelant la commande data-diff avec DiffDog comme suit :

 

diffdogcmdlclient data-diff --c=client_config.ini reports

 

Pour créer une comparaison de données dans la configuration, ajoutez une nouvelle section [datadiff:<name>], où <name> est le nom unique par lequel vous souhaitez identifier cette comparaison de données. Dans la section [datadiff], vous spécifiez essentiellement ce que doivent être les sources de données « gauche » et « droite ». Les sources de données doivent déjà avoir être configurées, tel que décrit dans [datasource] : Configurer les sources de données.

 

Les paramètres qui pourraient être présents dans une section [datadiff] sont recensés ci-dessous.

 

enable-driver-logging

Paramètre optionnel. À activer si vous souhaitez que le pilote de base de données retourne des informations plus détaillées en cas d'erreur. Veuillez noter que l'activation de cette option peut ralentir l'exécution.

 

enable-driver-logging=true

 

server-left, server-right

Paramètre conditionnel. Cette option vous permet de spécifier que la source de données gauche ou droite de la comparaison est défini dans le fichier de configuration de serveur (pas dans le fichier de configuration client). L'option doit pointer vers une source de données nommée telle que définie dans le fichier de configuration de serveur sur l'appareil sur lequel DiffDog Server est exécuté. Pour pointer vers une source de données sur l'appareil sur lequel l’exécutable client CLI est exécuté, utiliser les options left et right à la place (voir ci-dessous).

 

server-left=products

server-right=resourcesdb

 

left, right

Paramètre conditionnel. Cette option définit le côté gauche ou droit de la comparaison. L'option doit se référer à une source de données nommée [datasource:<some_name>] telle qu'elle a été définie dans le fichier de configuration client sur l'appareil sur lequel la comparaison est exécutée.

 

left=hr

right=testdb

 

Si vous ne configurez pas ces options, les options server-left ou server-right doivent être configurées à la place (voir ci-dessus). La comparaison combinée entre les sources de données de client et les sources de données de serveur sont aussi possibles. Par exemple :

 

left=hr

server-right=testdb

 

Dans l’exemple ci-dessus, la source de données hr est sur la machine sur laquelle l’exécutable client CLI est exécuté, tandis que la source de données testdb est définie dans le fichier de configuration du serveur sur l’appareil sur lequel DiffDog Server est exécuté.

 

map

Paramètre optionnel. Cette option spécifie quelles colonnes du côté gauche doivent être comparées à celles du côté droit de la comparaison. Par exemple, vous pourriez comparer des colonnes col1, col2, col3 depuis la table "gauche" avec des colonnes colA, colB, colC, respectivement, provenant du recordset "droit". Pour indiquer une colonne, vous pouvez spécifier soit le nombre ordinal de la colonne, en commençant avec 1, ou le nom de la colonne. Si vous utilisez le nom de la colonne, le nom doit être contenu dans des guillemets.

 

map = 1=>"col2", 2=>"col3", "h"=>6, "i"=>"x"

 

Pour chaque paire de colonnes affichée ci-dessus, le mappage est : left-side column  => right-side column.

 

Dans le cas des fichiers CSV, vous pouvezvous pouvez vous référer aux colonnes en utilisant soit le nom de la colonne (si la première ligne est un en-tête), ou en utilisant c1, c2, etc., où où le nombre correspond à l'index de colonne, en commençant avec 1. Par exemple, le mappage est une BD alors que le côté droit est un fichier CSV :

 

map=1=>c1,2=>c2

 

Si vous ne définissez pas de mappages de colonne, l'application tentera de mapper des colonnes automatiquement sur la base du nom et du type de données. Néanmoins, cela n'est pas garanti pour travailler correctement si les colonnes à gauche et à droite ont des noms et des types différents.

 

xml-aware

Paramètre optionnel. Si activée, cette option effectue une comparaison XML (pas le texte) pour les champs de base de données de type XML. Cela s'applique uniquement aux champs dont le type de données est reconnu par le pilote en tant que XML. Les champs de bases de données qui stockent XML comme varchar ou clob ne sont pas affectés par cette option. Si vous souhaitez traiter ce type de champs en tant que type XML, utiliser l'option sql à la place de table et effectuer une conversion de type sur XML au moyen de requêtes SQL.

 

Si vous définissez cette option, toutes les options de comparaison XML présentes dans le fichier de configuration ou spécifiées dans la ligne de commande s'appliqueront également. Sur Windows, si DiffDog est installé sur le même appareil que le Client DiffDog Command Line, alors les options XML présentes dans le registre s'appliqueront également. DiffDog Server ne lit pas les options de registre Windows. Vous pouvez toujours consulter les options de configuration actuels du client en exécutant la commande showcfg. Pour consulter les options de configuration du serveur, exécuter la commande showcfg du programme d'exécution du serveur.

 

Pour une référence à toutes les options de comparaison XML, voir la commande diff.

 

whitespace-mode

Paramètre optionnel. Ne s'applique qu'aux champs de base de données de type texte comme varchar, clob, etc. L'option définit comment les caractères d'espaces blancs doivent être traités pour la comparaison. Les caractères d’espace blancs sont les suivants : espace, tabulateur, retour de chariot et le saut de ligne.

 

normalize

Le Texte A est égal au Texte B si, après normalisation, les caractères dans le Texte A correspondent à ceux dans le Texte B. « Normalisation » signifie que plusieurs occurrences consécutives des caractères d'espace blanc sont remplacés par un seul caractère d'espace. De plus, les caractères d'espace blanc de début et de fin sont réduits pour chaque ligne de texte.

strip

Texte A est considéré égal au Texte B si, après avoir supprimé les caractères d'espaces blancs, des caractères dans le Texte A correspondent à ceux du Texte B. Autrement dit, tout caractère d'espace blanc est supprimé du texte et considéré comme n'étant pas pertinent pour la comparaison.

 

ignore-case

Paramètre optionnel. Ne s'applique qu'aux champs de base de données de type texte comme varchar, clob, etc. Les valeurs valides sont false (le défaut) et true, qui spécifient respectivement les comparaisons sensibles à la casse et insensibles à la casse.

 

server-output-path

Paramètre optionnel. Spécifie le chemin vers lequel les résultats de comparaison seront enregistrés sur le serveur, par exemple : Si ce paramètre n'est pas défini, la sortie de comparaison sera affiché dans la ligne de commande (si vous n'avez pas configuré l'option -quiet=true).

 

server-output-path=/path/on/server.xml

 

Si le client et le serveur sont tous les deux exécutés sur le même appareil, vous pouvez utiliser server-output-path et client-output-path de manière interchangeable.

 

client-output-path

Paramètre optionnel. Spécifie le chemin vers lequel les résultats de comparaison seront enregistrés sur l’appareil client. Si ce paramètre n'est pas défini, la sortie de comparaison sera affiché dans la ligne de commande (si vous n'avez pas configuré l'option -quiet=true).

 

client-output-path=/path/on/client.xml

 

Si le client et le serveur sont tous les deux exécutés sur le même appareil, vous pouvez utiliser server-output-path et client-output-path de manière interchangeable.

 

output-mode

Paramètre optionnel. Spécifie le format de sortie du résultat de comparaison. La valeurs valides sont text, xml, and sql. Par exemple :

 

output-mode=xml

 

Lorsque cette option n'est pas définie, la valeur par défaut est text. Veuillez noter que la valeur sql est importante uniquement si le côté droit de la comparaison est une base de données. Si output-mode=sql, le rapport de comparaison contiendra des scripts SQL nécessaires pour fusionner des données du côté gauche vers le côté droite.

 

treat-null-as-empty

Paramètre optionnel. Activer cette option uniquement si vous souhaitez traiter les valeurs de base de données NULL en tant que strings vides.

 

treat-null-as-empty=false

 

Par exemple, par défaut, une comparaison entre deux recordsets illustrée ci-dessous résultera en une différence, parce que la deuxième ligne à gauche est vide et n'est pas égal à la deuxième ligne à droite. Néanmoins, si vous définissez l'option treat-null-as-empty sur true, les deux recordsets seront considérés égaux.

dds_null_recordsets

 

© 2019-2025 Altova GmbH