Altova DiffDog Server 2025 

DiffDog Server peut comparer des données qui proviennent de fichiers à séparation par virgule, point-virgule et tab (CSV, TSV). Les fichiers répondant aux critères suivants peuvent être comparés :

 

Chaque ligne doit contenir le même nombre de champs dans tout le fichier. L'extension de fichier n'a pas d'importance.

Les séparateurs de champ doivent être un des suivants : virgule, point-virgule et tab.

 

Étant donnés que les fichiers CSV sont en réalité des données tabulaires, vous pouvez les comparer avec des données provenant d'une table, d'un mode ou d'un recordset personnalise de base de données.

 

La comparaison de fichiers CSV dans DiffDog Server fonctionne de la même manière que les comparaisons de base de données. Concrètement, vous configurez la tâche de comparaison en éditant les fichiers .ini DiffDog Server. En alternative, mais uniquement prise en charge sur Windows, vous pouvez créer des tâches de comparaison depuis l'interface d'utilisateur graphique de l'application de desktop DiffDog Enterprise, les enregistrer en tant que fichiers .dbdif, puis les exécuter sur le serveur. Les deux approches sont décrites en détail ci-dessous.

 

Créer des comparaisons dans DiffDog Server

La configuration d'une tâche de comparaison dans DiffDog Server implique les étapes suivantes :

 

1.Ajouter une source de données qui représente le côté "left" de la comparaison du fichier de configuration. Cela peut être effectué soit dans le fichier de configuration client ou serveur. Pour les fichiers CSV, une source de données classique ressemble à l'exemple ci-dessous. Pour plus d'informations concernant les clés possibles et leur signification, voir Configurer les sources de données.

 

[datasource:left_data]
type=csv
path=C:\left.csv
separator=comma
key-columns-by-ordinal=1

has-header-row=false

 

2.Ajouter la seconde source de données (le côté "droit" de la comparaison).

 

[datasource:right_data]
type=csv
path=C:\right.csv
separator=comma
key-columns-by-ordinal=1

has-header-row=false

 

3.Ajouter une tâche de comparaison de données dans laquelle vous indiquez laquelle est la source de données droite et gauche, les colonnes à comparer, et d'autres paramètres. L'option map vous permet de spécifier quelles colonnes font partie de la comparaison (par exemple, la première et la seconde colonne).

 

[datadiff:reports]
left=left_data
right=right_data
map=1=>1,2=>2
output-mode=xml

 

Dans cet exemple, la production de la comparaison CSV est rapportée en tant que XML, comme indiqué par l'option output-mode=xml. Une autre option est output-mode=text. Si le côté droit de la comparaison est une base de données, vous pouvez aussi utiliser output-mode=sql, et ainsi, vous pouvez obtenir des scripts SQL pour fusionner les données de la gauche vers la droite. Par défaut, le rapport est affiché dans la ligne de commande, mais vous pouvez le rediriger en option vers un fichier, en ajoutant l'option client-output-path :

 

client-output-path=/home/report.xml

 

Pour plus d'informations, voir Configurer les comparaisons de CSV et base de données.

 

4.Appeler le programme d'exécution et exécuter la commande data-diff. Dans l'extrait de code ci-dessous, le fichier de configuration est fourni en utilisant l'option --c et le nom de la tâche est fourni en tant qu'argument :

 

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

 

Vous pouvez aussi configurer ou contourner le format de sortie pour le rapport de comparaison dans la ligne de commande, en ajoutant l'option --output-mode, par exemple :

 

exec data-diff --c=client_config.ini reports --output-mode=xml

 

Exécuter des comparaisons créées dans DiffDog Enterprise (uniquement Windows)

Pour utiliser cette approche, une licence DiffDog Enterprise est nécessaire. Veuillez noter que cette approche est uniquement prise en charge si DiffDog Server est exécuté sur Windows, parce que les fichiers de comparaison .dbdif créés avec l'application de desktop DiffDog stockent des chemins utilisant la syntaxe Windows.

Pour créer la tâche de comparaison dans le desktop DiffDog :

1.Dans le menu Fichier, cliquer sur Comparer données de base de données.

2.En utilisant l'assistant de connexion, ajouter une source de données pour le côté gauche et le côté droit de la comparaison, respectivement. Il peut s'agir soit d'un fichier de base de données soit un fichier CSV.

3.Ajouter les connexions (mappages) entre les colonnes que vous souhaitez inclure dans la comparaison.

4.En option, exécuter la comparaison en invoquant la commande de menu Diff et Fusion | Lancer la Comparaison, ou en cliquant sur dds_ic_start_comparison, ou en appuyant sur F5.

5.Dans le menu Fichier, cliquer sur Enregistrer, et choisir un dossier de destination pour le fichier .dbdif.

 

Pour plus d'informations concernant la création des fichiers .dbdif, veuillez vous référer à la documentation Altova DiffDog Enterprise (https://www.altova.com/fr/documentation).

 

Du côté serveur, vous pouvez exécuter un fichier .dbdif en appelant la commande run du serveur ou du programme d'exécution du client, par exemple :

 

<exec> run <dbdiff-file>

 

Notes :

 

Pour que la comparaison puisse être exécutée avec succès, tous les chemins de fichier CSV qui ont été ajoutés dans l'appareil de desktop doivent être valides sur l'appareil de serveur.

Si des connexions de base de données sont impliquées, l'appareil de serveur doit être configuré et capable de gérer la connexion. Par exemple si le fichier .dbdif contient une connexion qui exige un pilote ODBC depuis le fournisseur de base de données, ce pilote doit être installé sur le serveur également, voir aussi base de données prises en charge.

© 2018-2024 Altova GmbH