データベースデータの比較のセットアップ

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

ホーム >  データベースデータの比較 >

データベースデータの比較のセットアップ

データベースのデータの比較は (SQL クエリにより抽出されるテーブル、ビュー、または、レコードセット) 「左側」 データソースを「右側」のデータソースと比較します。

データの比較を構成するには、クライアント構成ファイル を開き、このデータベース比較で識別する <name> が一意の名前である新規の [datadiff:<name>] セクションを追加します。データベースの比較ジョブ内では、「左側」のデータソースと「右側」のデータソースを基本的に指定します。データソースのセットアップ内で説明される通り、2つまたは複数のデータソースが既に作成されていることが前提とされています。

 

[datadiff] セクション内に存在する可能性のあるパラメーター は下にリストされています。

 

enable-driver-logging

任意のパラメーターです。エラーが発生した場合、更に詳細な情報をデータベースドライバーが返すために、オンに切り替えてください。  例:

 

enable-driver-logging=true

 

このオプションの有効化は実行を遅らせる可能性があることに注意してください。

 

server-left, server-right

条件パラメーターです。このオプションで  (クライアント構成ファイルではなく)サーバー構成ファイル内で定義されている比較の左側、または、右側を指定することができます。オプションは、 DiffDog Serverが作動するマシン上のサーバー構成ファイル内で定義されている通り名前が付けられているデータソースを指す必要があります。例:

 

server-left=products

server-right=resourcesdb

 

DiffDog コマンドラインクライアントが実行するマシン上のデータソースをポイントするには、leftright オプションを代わりに使用します (下を参照してください)。

 

left, right

条件パラメーターです。このオプションは比較の左側と右側を設定します。比較が実行されるマシン上のクライアント構成ファイル内で定義されている通り、名前が付けられているデータソース [datasource:<some_name>] を参照している必要があります。 例:

 

left=hr

right=testdb

 

これらのオプションを設定しない場合、server-left または server-right オプションが代わりに設定されている必要があります。クライアントデータソースとサーバーデータソースの組み合わされた比較も実行することができます。例:

 

left=hr

server-right=testdb

 

上のサンプル内では、(サーバー無しで) DiffDog コマンドラインクライアントが作動する個所ではデータソース 「hr」 がマシンです。 DiffDog Server が作動するマシン上のサーバー構成ファイル内ではデータソース 「testdb」 定義されています。

 

map

任意のパラメーターです。 このオプションは比較の左側の列が比較の右側のどの列と比較されるかを指定します。 例えば、「左側」のテーブルから列 col1col2col3 を 「右側」のレコードセットの colAcolBcolC と比較すると仮定します。

 

列を示すには、1から開始する列の序数、または、列の名前を指定することができます。列の名前を使用する場合、名前は引用符で囲まれている必要があります。例:

 

map = 1 => "col 2", 2 => "col1", "h" => 6, "i" => "x"

 

上記の列の各ペアでは、 "=>" の前の部分は、「左側」を意味し、 "=>" の後の部分は、「右側」を意味します。

 

列のマッピングを定義しない場合、アプリケーションは列を名前とデータ型をベースに自動的にマップしようと試みます。しかしながら、これは左側と右側の列が異なる名前と型を持つ場合、正確な作動はは保証されません。

 

xml-aware

任意のパラメーターです。 有効化されると、 このオプションは、 XML 型のデータベースフィールドのために(テキストではなく) XML  比較を実行します。これはデータ型が XML としてドライバーにより識別されているフィールドのみに適用されます。 varchar または clob として XML を保管するデータベースフィールドはこのオプションにより影響を受けません。 XML 型としてこのようなフィールドを扱う必要がある場合、table の代わりに sql オプションを使用し、SQL クエリを使用して型を XML に変換します。

 

このオプションを設定すると、構成ファイルに存在する、または、コマンドラインで指定されている XML 比較オプションが適用されます。Windows 上では、DiffDog が DiffDog コマンドラインクライアントと同じマシン上にインストールされている場合、レジストリ内に存在する XML オプションも適用されます。 DiffDog Server は Windows レジストリオプションを読み取りません。showcfg コマンドを作動してクライアントの現在の構成オプションを常に確認することができます。サーバーの構成オプションを確認するには、サーバー実行可能ファイルの showcfg コマンドを実行してください。

 

すべての XML 比較オプションに関する参照については、diff コマンドを参照してください。

 

whitespace-mode

任意のパラメーターです。 varcharclob などのテキスト型のデータベースのためにのみ適用することができます。 このオプションは、テキストと XML ファイルを比較する際に適用することができます。比較のために空白文字がどのように扱われるかを定義します。 空白文字 は次のうちの1つであることができます: スペース、タブ、改行。このオプションを指定しない場合、空白文字は常に比較の対称として考慮されます。 それ以外の場合、次の値を設定してください:

 

normalize

正規化後のテキスト A はテキスト B と同等です。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。「正規化」は複数の空白文字の連続した発生が単一のスペース文字と置き換えられることを意味します。

strip

空白文字の除外後、テキスト A はテキスト B と同等と考慮されます。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。すなわち、テキストから空白文字が除外され、比較の対象とは考慮されません。

 

ignore-case

任意のパラメーターです。 varcharclob などのテキスト型のデータベースのためにのみ適用することができます。 有効な値:

 

true

大文字と小文字を区別する比較を実行します (例えば、 "A" と "a" 同様に扱われます)。

false

(デフォルト) 大文字と小文字を区別する比較を実行します (例えば、 "A" と "a" は同様に扱われません)。

 

server-output-path

任意のパラメーターです。サーバーマシン上に保存される比較の結果へのパスを指定します。 例:

 

server-output-path=/path/on/server.xml

 

DiffDog コマンドラインクライアントと DiffDog Server が同じマシンで作動する場合、 server-output-pathclient-output-path を相互に使用することができ餡巣。

 

このパラメーターが設定されていない場合、 比較の出力はコマンドラインに表示されます (オプション -quiet=true に設定されていないことが前提とされています )。

 

client-output-path

任意のパラメーターです。クライアントマシン上に保存される比較の結果へのパスを指定します。例:

 

client-output-path=/path/on/client.xml

 

このパラメータが設定されていない場合、比較の結果はコマンドラインに表示されます (オプションが -quiet=true に設定されていないことが前提とされています)。

 

output-mode

任意のパラメーターです。比較の結果の出力フォーマットを指定します。有効な値は textxml です。例:

 

output-mode=xml

 

このオプションが設定されていない場合、 デフォルトの値は text です。

 

treat-null-as-empty

任意のパラメーターです。NULL データベース値が空の文字列として扱われる必要がある場合、このオプションを有効化します。

 

treat-null-as-empty=false

 

例えば、 デフォルトで、左側の2番目の行が空で、右側の2番目の行と等価ではないため、下で説明される2つのレコードセット間に差分が発生します。しかしながら、treat-null-as-empty オプションを true に設定すると、両方のレコードセットは等価として扱われます。

dds_null_recordsets


(C) 2019 Altova GmbH