data-diff

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  DiffDog クライアントコマンドライン >

data-diff

data-diff コマンドは、以前に構成された1つまたは複数のデータベースデータの比較ジョブを実行します。デフォルトでは、比較の結果は XML 書式でコマンドラインで表示されます。出力の種類 (テキスト、 XML) を構成ファイルから output-mode オプションを設定することにより管理することができます。client-output-path または server-output-path オプションから出力ファイルのパスを設定することができます。 データベースのデータの比較ジョブに関しては、次を参照してください: データベースデータの比較

 

比較の結果を数値で表示するには、このコマンドを実行した後に %ERRORLEVEL% 環境変数の値をチェックしてください。可能な値は以下の通りです:

 

エラーレベル

意味

0

差分は存在しません

1

差分が存在します

2

エラーが発生しました

 

構文

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

 

job はクライアント構成ファイル内で定義されている [datadiff] セクションをジョブが参照している個所。コマンドを一回実行する際に複数のデータベース比較ジョブを実行するために job 引数を複数回指定することができます。

 

Linux 上で、実行可能ファイルを呼び出すために全て小文字を使用します。更に、コマンドシェルの現在のディレクトリから呼び出す場合、Linux と macOS 上で、実行可能ファイルのディレクトリ内で、実行可能ファイルの前にプレフィックス 「./」 を追加する必要がある場合があります。

 

このコマンドは、 compare-data エイリアスを使用して呼び出すことができます。

 

オプション

data-diff コマンドに適用することのできるオプションは以下にリストされています。

 

--config, --c

このオプションは <named_datadiff> が定義されている構成ファイルへのパスを指定します。

 

--c オプションを設定しない場合、DiffDog コマンドラインクライアント実行可能ファイルは、クライアントの構成ファイルを同じディレクトリから読み取ろうとします。実行可能ファイルと同じディレクトリに構成ファイルが存在しない場合、コマンドラインヘルプとこのドキュメント内で説明されているデフォルトの値が適用されます。

 

--port

このオプションは DiffDog Server がリクエストをリッスンするポートを指定します。DiffDog Server がデフォルトの 29800 以外のポートで実行する場合、このオプションは意味があります。コマンドラインでのこのオプションの代替としては、 クライアント構成ファイル 内を設定することができます。この値をコマンドラインで設定した場合、構成ファイル内で定義された値よりも高い優先順位が与えられることに注意してください。

 

--quiet, --q

コマンドラインで標準の出力が表示されることを回避します。有効な値:

 

true

ターミナルウィンドウ内で標準の出力を表示しない。

false

(デフォルト) ターミナルウィンドウ内で標準の出力を表示する。

 

--server

このオプションは DiffDog Server がリクエストをリッスンするサーバーアドレスを指定します。このオプションの設定は、DiffDog Server がデフォルトの localhost 以外のサーバーで作動中の場合意味があります。このオプションをコマンドラインで設定する代替として、 クライアント構成ファイル 内で設定することができます。この値をコマンドラインで設定した場合、構成ファイル内で定義された値よりも高い優先順位が与えられることに注意してください。

 

サンプル

次のコマンドは「reports」と呼ばれる単一のデータベースデータ比較ジョブを実行します。

 

DiffDogCmdlClient data-diff reports

 

クライアント構成ファイルには [datadiff:reports] セクションが含まれていることが仮定されています。 例:

 

[datasource:left_data]
type = sqlite
path = c:\comparisons\db\Nanonull_Left.sqlite
table = "main"."products"
key-columns-by-name = "id"
 
[datasource:right_data]
type = sqlite
path = c:\comparisons\db\Nanonull_Right.sqlite
table = "main"."products"
key-columns-by-name = "id"
 
[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][datasource:right_data] は比較の左側と右側のためにデータを提供する2つのデータソースです。 left_data はローカル SQLite データベースからのテーブル 「products」 を指しています。right_data は他の SQLite データベースのテーブル「products」を指しています。key-columns-by-name オプションは、各行を一意に識別する id 列を識別します。

 

[datadiff:reports] セクションは、比較の左側と右側どおりデータソースを設定します。 更に、比較される列をマップします。このサンプルでは、左側から最初、2番目、および3番目の列が右側の最初、2番目、3番目の列と共にマップされます。比較の結果は、テキストフォーマットに設定されており、ローカルテキストファイルに保存されます。

 

これはオプションの網羅的なリストではありません。データソース内で定義することのできるすべてのオプションの参照に関しては、 データソースのセットアップ を参照してください。データベース比較ジョブ内で定義することのできるオプションに関しては、データベースデータの比較のセットアップを参照してください。


(C) 2019 Altova GmbH