Altova DiffDog Server 2023 

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 CSV- und Datenbankdaten.

 

Am einfachsten lassen sich *.dbdif-Dateien mit DiffDog Server ausführen, wenn DiffDog Server entweder auf demselben Rechner wie DiffDog Desktop oder auf einem Windows-Rechner installiert ist. Wenn DiffDog Server auf einem anderen Rechner oder Betriebssystem ausgeführt wird, gelten die folgenden Einschränkungen:

 

Wenn CSV-Dateien am Vergleich beteiligt sind, wird die Ausführung von .dbdif-Dateien nur auf Windows Servern unterstützt. Damit der Vergleich funktioniert, müssen alle CSV-Dateipfade, die auf dem Desktop-Rechner gültig waren, auch auf dem Server-Rechner gültig sein.

Wenn Datenbankverbindungen am Vergleich beteiligt sind, muss der Server-Rechner für die Verarbeitung der Datenbankverbindung konfiguriert sein und dazu in der Lage sein, d.h. auf dem Zielbetriebssystem müssen alle Datenbanktreiber vorhanden sein und andere für die Verbindung erforderlichen Voraussetzungen erfüllt werden. Wenn die .dbdif-Datei etwa eine Verbindung enthält, für die ein ODBC-Treiber des Datenbankanbieters benötigt wird, so muss der Treiber auch auf dem Server-Rechner installiert sein. Beachten Sie, dass einige unter Windows unterstützte Datenbankverbindungsmethoden auf Linux und macOS nicht unterstützt werden. Informationen dazu finden Sie unter Unterstützte Datenbanken.

 

Wenn Sie die Vergleichsaufträge direkt in DiffDog Server einrichten (anstatt *.dbdif-Dateien zu verwenden), können Sie diese plattformunabhängig ausführen.

 

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:

 

Exitcode

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.

 

--loglevel, --L

Definiert die Ausgabeebene für Informationen, Warnungen und Fehlermeldungen. Gültige Werte:

 

none

Unterdrückt die Protokollierung.

info

Informationen, Warnungen und Fehlermeldungen ausgeben.

warning

Fehler und Warnmeldungen ausgeben.

error

(Standardeinstellung) Nur Fehlermeldungen ausgeben.

 

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

 

--output-mode, --om

Diese Option definiert das Format des Vergleichsberichts. Gültige Werte:

 

text

Bericht im Textformat ausgeben.

sql

Bericht im SQL-Format ausgeben. Dieser Wert ist sinnvoll, wenn es sich bei der rechten Seite des Datenvergleichs um eine Datenbank handelt. Der Bericht enthält SQL-Anweisungen, die Daten von der linken auf der rechten Seite des Vergleichs zusammenführen. Wenn z.B. auf der rechten Seite Zeilen fehlen, werden INSERT-Anweisungen generiert. Umgekehrt, wenn auf der rechten Seite zusätzliche Zeile vorhanden sind, werden DELETE-Anweisungen generiert. Für geänderte Werte werden UPDATE-Anweisungen generiert.

xml

Bericht im XML-Format ausgeben.

 

Die Standardoption ist sql. Wenn jedoch die linke Seite des Vergleichs eine Datenbank und die rechte eine CSV-Datei ist, so ist die Standardoption text.

 

--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\esult.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 CSV- und Datenbankvergleichen beschrieben.

© 2016-2022 Altova GmbH