data-diff

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  DiffDog Client-Befehlszeile >

data-diff

Der Befehl data-diff wird an einem oder mehreren zuvor konfigurierten Datenbankdatenvergleichsaufträgen ausgeführt. Standardmäßig wird das Vergleichsergebnis im XML-Format in der Befehlszeile angezeigt. Sie können die Art der Ausgabe (Text, XML) über die Konfigurationsdatei durch Definition der Option output-mode festlegen. Der Pfad zur Ausgabedatei wird entweder mit der Option client-output-path oder der Option server-output-path definiert. Nähere Informationen zum Definieren von Datenbankdatenvergleichsaufträgen finden Sie unter Vergleichen von Datenbankdaten.

 

Um das Vergleichsergebnis in Form eines numerischen Werts zu erhalten, überprüfen Sie nach Ausführung dieses Befehls den Wert der Umgebungsvariablen %ERRORLEVEL%. Die möglichen Werte sind:

 

Fehlerstufe

Bedeutung

0

Es gibt keine Unterschiede.

1

Es gibt Unterschiede.

2

Es ist ein Fehler aufgetreten.

 

Syntax

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

 

Hierbei bezieht sich job auf einen in der Client-Konfigurationsdatei definierten [datadiff]-Abschnitt. Sie können das Argument job mehrmals definieren, um in einem Befehl mehrere Datenbankvergleichsaufträge auszuführen.

 

Verwenden Sie auf Linux-Systemen zum Aufrufen der ausführbaren Datei nur Kleinbuchstaben. Außerdem müssen Sie auf Linux- und macOS-Systemen dem Namen der ausführbaren Datei eventuell das Präfix "./" voranstellen, wenn Sie diese vom aktuellen Verzeichnis der Command Shell aus aufrufen.

 

Dieser Befehl kann auch mit dem compare-data-Aliasnamen aufgerufen werden. compare-data und data-diff sind austauschbar verwendbar.

 

Optionen

Im Folgenden sind die Optionen für den Befehl data-diff aufgelistet.

 

--config, --c

Mit dieser Option wird der Pfad zu einer Konfigurationsdatei, in der <named_datadiff> definiert wurde, angegeben.

 

Wenn Sie die Option --c nicht definieren, versucht die ausführbare DiffDog-Befehlszeilen-Client-Datei, die Client-Konfigurationsdatei aus demselben Verzeichnis zu lesen. Wenn sich keine Konfigurationsdatei im selben Verzeichnis wie die ausführbare Datei befindet, werden die in der Befehlszeilenhilfe und dieser Dokumentation beschriebenen Standardwerte verwendet.

 

--port

Mit dieser Option wird der Port definiert, unter dem DiffDog Server für Requests empfangsbereit ist. Eine Definition dieser Option ist dann sinnvoll, wenn DiffDog Server an einem anderen als dem Standard-Port 29800 ausgeführt wird. Anstatt diese Option in der Befehlszeile zu definieren, können Sie sie auch in der Client-Konfigurationsdatei definieren. Wenn Sie diesen Wert in der Befehlszeile setzen, beachten Sie, dass er Vorrang vor einem in der Konfigurationsdatei definierten Wert hat.

 

--quiet, --q

Verhindert, dass die Standardausgabe in der Befehlszeile angezeigt wird. Gültige Werte:

 

true

Standardausgabe nicht im Terminal-Fenster anzeigen.

false

(Standardwert) Standardausgabe im Terminal-Fenster anzeigen.

 

--server

Mit dieser Option wird die Server-Adresse definiert, unter der DiffDog Server für Requests empfangsbereit ist. Eine Definition dieser Option ist dann sinnvoll, wenn DiffDog Server auf einem anderen als dem lokalen Standardserver localhost ausgeführt wird. Anstatt diese Option in der Befehlszeile zu definieren, können Sie sie auch in der Client-Konfigurationsdatei definieren. Wenn Sie diesen Wert in der Befehlszeile setzen, beachten Sie, dass er Vorrang vor einem in der Konfigurationsdatei definierten Wert hat.

 

Beispiel

Mit dem folgenden Befehl wird ein einziger Datenvergleichsauftrag namens "reports" ausgeführt.

 

DiffDogCmdlClient data-diff reports

 

Dabei wird vorausgesetzt, dass die Client-Konfigurationsdatei einen [datadiff:reports]-Abschnitt enthält, z.B.:

 

[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

 

[datasource:left_data] und [datasource:right_data] in der oben gezeigten Konfigurationsdatei sind zwei Datenquellen, aus denen die Daten für die linke und rechte Seite des Vergleichs stammen. left_data verweist auf die Tabelle "products" aus einer lokalen SQLite-Datenbank. right_data verweist auf die Tabelle "PRODUCTS" einer SQL-Server-Datenbank. Beide Tabellen haben einen Primärschlüssel, daher muss keine Schlüsselspalte mit der Option key-column-by-name definiert werden.

 

Im Abschnitt [datadiff:reports] werden die beiden obigen Datenquellen als die linke und rechte Seite des Vergleichs definiert. Zusätzlich dazu werden darin die zu vergleichenden Spalten zugeordnet. In diesem Beispiel werden die erste, zweite und dritte Spalte aus der linken Datenquelle jeweils der ersten, zweiten und dritten Spalte aus der rechten Datenquelle zugeordnet. Als Vergleichsergebnis wurde das Textformat definiert, das in einer lokalen Textdatei gespeichert wird.

 

Dies ist keine erschöpfende Liste aller Optionen. Eine Liste aller Optionen, die Sie in einer Datenquelle definieren können, finden Sie unter Einrichten von Datenquellen. Optionen, die Sie in einem Datenbankvergleichsauftrag definieren können, sind unter Einrichten von Datenbankvergleichen beschrieben.


© 2019 Altova GmbH