Altova DiffDog Server 2025 

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.

 

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.

 

Syntax

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

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

 

Anmerkungen

Das Argument job bezieht sich auf einen in der Client-Konfigurationsdatei definierten [datadiff]-Abschnitt.

Sie können das Argument job mehrmals definieren, um bei einer Befehlsausführung mehrere Datenbankvergleichsaufträge auf einmal auszuführen.

Die Optionen --server und --port sind nur auf diffdogcmdlclient anwendbar. Sie definieren die Verbindungsinformationen des Servers.

Sie können die Art der Ausgabe (Text, XML) durch Definition der Option output-mode entweder in der Konfigurationsdatei oder über die Befehlszeile (siehe Optionen unten) definieren.

Der Pfad zur Ausgabedatei wird entweder mit der Option client-output-path oder der Option server-output-path definiert (siehe Beispiel unten).

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:

 

Exit-Code

Bedeutung

0

Es gibt keine Unterschiede.

1

Es gibt Unterschiede.

2

Es ist ein Fehler aufgetreten.

 

Optionen

 

Beispiele

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

 

diffdogserver 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 Format des Vergleichsergebnisse wurde Text definiert. Das Vergleichsergebnis wird in einer lokalen Textdatei gespeichert.

 

Eine vollständige Liste aller Optionen, die Sie in einer Datenquelle definieren können, finden Sie unter Einrichten von Datenquellen. Informationen zu den Optionen, die Sie in einem Datenbankvergleichsauftrag definieren können, sind unter Einrichten von CSV- und Datenbankvergleichen beschrieben.

 

© 2019-2025 Altova GmbH