Altova DiffDog Server 2023 

La commande data-diff exécute une ou plusieurs tâches de comparaison de données de base de données configurées précédemment. Par défaut, le résultat de comparaison est affiché dans la ligne de commande dans le format XML. Vous pouvez contrôler le type de sortie (texte, XML) en configurant l'option output-mode depuis le fichier de configuration. Le chemin du fichier de sortie est défini soit depuis les options client-output-path ou server-output-path. Pour plus d'informations concernant les tâches de comparaison de base de données, voir Comparer les données de base de données.

 

L'exécution de fichiers *.dbdif avec DiffDog Server est plus pratique si DiffDog Server est exécuté soit sur le même ordinateur que DiffDog desktop, ou sur un appareil Windows. Si DiffDog Server est exécuté sur un autre appareil ou un autre système d'exploitation, les limitations suivantes s'appliquent :

 

Si la comparaison implique des fichiers CSV, l'exécution de fichiers .dbdif est prise en charge uniquement sur des serveurs Windows. Pour que la comparaison soit réussie, tous les chemins de fichier CSV qui ont été valides sur l'appareil desktop doivent être valides sur l'appareil serveur.

Si des connexions de base de données sont impliquées, l'appareil de serveur doit être configuré et doit être capable de gérer la connexion de la base de données. Concrètement, les pilotes de base de données et tout autre exigences préalables exigées par la connexion doivent être présents sur le système d'exploitation cible également. Par exemple, si le fichier .dbdif comprend une connexion qui nécessite un pilote ODBC de la part du fournisseur de base de données, ce pilote doit être installé sur le serveur également. Veuillez noter que certaines méthodes de connexion de base de données prises en charge par Windows ne sont pas prises en charge sur Linux et macOS. Pour plus d'informations, voir Bases de données prises en charge.

 

Si vous configurez les tâches de comparaison directement dans DiffDog Server (par opposition à l'utilisation de fichiers *.dbdif), vous pouvez les exécuter tout de même sur la plate-forme.

 

Pour obtenir la sortie de comparaison en tant que valeur numérique, contrôler la valeur de la variable d'environnement %ERRORLEVEL% après avoir exécuté cette commande. Les valeurs possibles sont :

 

Niveau d'erreur

Signification

0

Aucune différence n'existe

1

Des différences existent

2

Une erreur s'est produite

 

Syntaxe

DiffDogCmdlClient data-diff [options] {job} ...

 

job fait référence à une section [datadiff] définie dans le fichier de configuration client. Vous pouvez spécifier l'argument job plus d'une fois pour exécuter plusieurs tâches de comparaison de base de données en une fois dans la commande.

 

Sur Linux, utiliser des minuscules pour appeler le programme d'exécution. De plus, sur Linux et macOS, vous devrez éventuellement ajouter le préfixe "./" avant le nom de l'exécutable lorsque vous l'appelez depuis le répertoire actuel du shell de commande.

 

Cette commande peut aussi être appelée en utilisant l'alias compare-data. Vous pouvez utiliser compare-data et data-diff de manière indifférente.

 

Options

Les options applicables à la commande data-diff sont recensées ci-dessous.

 

--config, --c

Cette option spécifie le chemin vers un fichier de configuration client où le <named_datadiff> a été défini.

 

Si vous ne définissez pas l'option --c, le programme d'exécution du Client de ligne de commande DiffDog tente de lire le fichier de configuration client depuis le même répertoire. S'il n'y a pas de fichier de configuration dans le même répertoire que le programme d'exécution, les valeurs par défaut sont décrites dans l'aide de la ligne de commande et cette documentation s'applique.

 

--loglevel, --L

Définit le niveau de rapport pour les informations, avertissements et messages d'erreur. Valeurs valides :

 

none

Supprimer toutes les journalisations.

info

Rapporter des informations, avertissements et messages d'erreur.

warning

Rapporter des messages d'erreur et d'avertissements.

error

(Défaut) Rapporter uniquement des messages d'erreur.

 

--port

Cette option spécifie le port sur lequel DiffDog Server écoute les requêtes. La configuration de cette option est pertinente si DiffDog Server est exécuté sur un port ou différent du port par défaut 29800. À la place de configurer cette option dans la ligne de commande, vous pouvez la définir dans le Fichier de Configuration client. Veuillez noter que, si vous définissez cette valeur au niveau de la ligne de commande, elle prend précédente sur celle définie dans le fichier de configuration.

 

--quiet, --q

Évite la sortie standard d'être affichée dans la ligne de commande. Valeurs valides :

 

true

Ne pas afficher la sortie standard dans la fenêtre de terminal.

false

(défaut) Affiche la sortie standard dans la fenêtre de terminal.

 

--output-mode, --om

Cette option spécifie le format du rapport de comparaison. Valeurs valides :

 

text

Produit le rapport en format texte.

sql

Produit un rapport en format SQL. Cette valeur est utile lorsque le côté droit de la comparaison des données est une base de données. Elle contient des instructions SQL qui fusionnent les données de la gauche vers la droite de la comparaison. Par exemple, s'il manque des lignes à droite, des instruction INSERT sont générées. De même, s'il y a trop de lignes du côté droit, des instructions DELETE sont générées. Dans le cas de valeurs modifiées, des instructions UPDATE sont générées.

xml

Produit le rapport en format XML.

 

L'option par défaut est sql. Néanmoins, lorsque le côté gauche de la comparaison est une base de données et que le côté droit est un fichier CSV, l'option par défaut est text.

 

--server

Cette option spécifie l'adresse du serveur sur lequel DiffDog Server écoute les requêtes. La configuration de cette option est pertinente si DiffDog Server est exécuté sur un autre serveur que localhost. À la place de configurer cette option dans la ligne de commande, vous pouvez la définir dans le Fichier de Configuration client. Veuillez noter que, si vous définissez cette valeur au niveau de la ligne de commande, elle prend précédente sur celle définie dans le fichier de configuration.

 

 

Exemple

L'exemple suivant exécute une seule tâche de comparaison de données de base de données appelée "reports".

 

DiffDogCmdlClient data-diff reports

 

On part du principe que le fichier de configuration client contient une section [datadiff:reports], par exemple :

 

[datasource:left_data]
type = sqlite
path = c:\comparisons\db\Nanonull_Left.sqlite
table = "main"."products"
 
[datasource:right_data]
type = adonet

connection = Data Source=SQLSERV16;Initial Catalog=NANONULL;MultipleActiveResultSets=True;Password=7hiu57;Persist Security Info=True;User ID=altova

assembly = System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

class = System.Data.SqlClient

table = [NANONULL].[dbo].[PRODUCTS]
 
[datadiff:reports]
left = left_data
right = right_data
map = 1 => 1, 2 => 2, 3 => 3

output-mode=text

client-output-path=c:\comparisons\db\esult.txt

 

Dans le fichier de configuration ci-dessus, le [datasource:left_data] et le [datasource:right_data] sont deux sources de données qui fournissent des données pour le côté gauche et droit de la comparaison. Le côté left_data pointe vers des "produits" de table provenant d'une base de données SQLite locale. Le côté right_data pointe vers la table "PRODUCTS" d'une base de données SQL Server. Les deux tables ont une clé primaire, il n'est donc pas nécessaire de spécifier une colonne à clé en utilisant l'option key-column-by-name.

 

La section [datadiff:reports] définit les deux sources de données ci-dessus comme étant le côté gauche et droite de la comparaison. De plus, elle mappe les colonnes qui doivent être comparées. Dans cet exemple, la première, deuxième et troisième colonne en partant de la gauche sont mappées avec la première, deuxième et troisième colonne en partant de la droite respectivement. Le résultat de comparaison est défini pour se trouver dans un format texte et sera enregistré sous un fichier de texte local.

 

Il ne s'agit pas d'une liste complète des options ; pour une référence à toutes les options que vous pouvez définir dans une source de données, voir Configurer les sources de données. Pour plus d'options que vous pouvez définir dans une tâche de comparaison de base de données, voir Configurer des comparaisons de base de données.

© 2016-2022 Altova GmbH