Altova DiffDog Server 2025 

La commande data-diff exécute une ou plusieurs tâches de comparaison des 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.

 

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.

 

Syntaxe

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

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

 

Notes

L’argument job fait référence à une section [datadiff] définie dans le fichier de configuration client.

L'argument job peut être spécifié plus d'une fois pour exécuter plusieurs tâches de comparaison de base de données en une exécution de la commande.

Les options --server et --port s’appliquent à diffdogcmdlclient uniquement. Elles spécifient les détails de connexion du serveur.

Contrôlez le genre de sortie (texte, XML) en définissant l’option output-mode, soit dans le fichier de configuration ou sur la ligne de commande (voir lesOptions ci-dessous).

Le chemin du fichier de sortie est défini soit depuis les options client-output-path ou server-output-path (voir l’Exemple ci-dessous).

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

 

Code Exit

Signification

0

Aucune différence n'existe

1

Des différences existent

2

Une erreur s'est produite

 

Options

 

Exemples

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

 

diffdogserver data-diff reports

 

On part du principe que le fichier de configuration client contient une section [datadiff:reports], comme la liste ci-dessous :

 

[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\result.txt

 

 

Dans le fichier de configuration ci-dessus, [datasource:left_data] et [datasource:right_data] sont deux sources de données qui fournissent des données pour le côté gauche et droit de la comparaison. left_data pointe vers la table products provenant d'une base de données SQLite locale. 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, respectivement, comme étant le côté gauche et le côté droit de la comparaison. De plus, elle mappe les colonnes qui doivent être comparées. Dans cet exemple, les première, deuxième et troisième colonnes en partant de la gauche sont mappées avec, respectivement, les première, deuxième et troisième colonnes en partant de la droite. Le résultat de comparaison est défini pour se trouver dans un format texte et sera enregistré sous un fichier de texte local.

 

Pour un ensemble d’options complètes qui peuvent être définies dans une source de données, voir comment Configurer 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 CSV et des comparaisons de base de données.

 

© 2019-2025 Altova GmbH