data-diff

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Ligne de commande DiffDog Client >

data-diff

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.

 

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.

 

--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.

 

--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.

 

 

Example

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


© 2019 Altova GmbH