データベースのトレースとエラーのログ

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

ホーム >  データソースとターゲット > MapForce とデータベース >

データベースのトレースとエラーのログ

マッピングがデータをデータベースに書き込む場合、オプションでデータベーストレースとエラーログを有効化することができます。マッピングの作動時データベースへのマッピングにより全ての変更をトラックする場合、役に立ちます。トレースがオンの場合、データベース挿入、または、更新アクション、または、エラーが XML ファイル内でログされている場合、これらを後に分析または、更に自動化された方法で処理することができます。 XML 以外の書式でログファイル作成する場合、任意でデータを MapForce によりサポートされるコンポーネントの種類からマップすることができます (例、テキストファイル、または、他のデータベース)。

 

メモ:マップがトレースとログをサポートするには、マッピング言語が C#、C++、 または Java に設定されている必要があります。

 

データベースのトレースを構成することは可能です。構成により、すべてのメッセージ、または、エラーのみをトレースし、エラーのみを、または、トレースを完全に無効化することもできます。更に、次のレベルでトレースを使用することができます:

 

データベースコンポーネントレベル。このレベルでは、そのデータベースコンポーネントのためにトレースを効果的にオンとオフに切り替えることができます。これは複数のターゲットデータベースコンポーネントを持つマッピングにとり役に立ちます。そして、一部のためにのみトレースが必要となります。
テーブルまたはストアドプロシージャレベル・データベースコンポーネント上では、各テーブル、または、ストアドプロシージャのためにトレースを行うかを決めることができます。有効化されると、このレベルでのトレースは "Insert All"、"Update If"、"Ignore If"、"Delete If" などのテーブルアクションのためにのイベントを含みます。ストアドプロシージャに関連したイベントがトレースされます。
データベースフィールドレベル。デフォルトで、全てのフィールドがトレースされますが、特定のフィールドをトレースから除外、または、エラー時にのみトレースファイルに含まれるように指定することができます。

 

重要な点は、上記の3つのレベルは階層で、トレース設定は上から下に伝達されます。このため、データベースコンポーネントレベルでトレースを無効化します。 テーブルまたはストアドプロシージャレベルでは有効化することは無理です。同様に、テーブルレベルでトレースを無効化することができますが、データベースフィールド (列) レベルでは、設定することはできません。同様がトレースレベルを狭める際に適用することができます。 例、 データベースコンポーネントレベルでのエラーにのみトレースを制限する場合、テーブルまたはストアドプロシージャレベルでフルトレースを使用することは不可能です。

 

データベースコンポーネントレベルでのトレース

データベースコンポーネントレベルでトレースを有効化する方法:

 

1.データベースコンポーネントを右クリックし、「プロパティ」 をコンテキストメニューから選択します (または、データベースコンポーネントのタイトルバーをダブルクリックします)。これにより、データベースコンポーネント設定 ダイアログボックスが開かれます。

mf_db_trace_01

2.希望するトレースレベル (常に、エラー、無効化済み) を選択します。「エラー」 を選択すると、データベースエラーがマッピングの実行時に発生した場合にトレースファイルを作成します。
3.「ファイルのトレース」 の横にトレースのすべての詳細が書き込まれる XMLファイルの名前、または、パスを書き込みます (例、 Log.xml)。フルパスの代わりにファイル名を入力すると、トレースファイルがマッピングが作動する同じディレクトリ内に作成されます。

 

トラッキングを有効化した後、データベースコンポーネントはマッピング上の構造を変更します。 具体的には、データベース構造に加え、階層内のトップアイテムがトレースファイルであるアイテムの新規のノードの階層が表示されます。 詳細に関しては、ファイル構造のトレースを参照してください。 .

 

データベースコンポーネントレベルでのトレースの有効化により、マッピング接続の存在するそのコンポーネント上のすべてのテーブルまたはストアドプロシージャのために有効化されます。必要であれば、下記の通りテーブルまたはストアドプロシージャレベルでトレースをトラックすることができます。マッピング上では役割を果たさないコンポーネント上に表示されているテーブル、または、ストアドプロシージャはトレースされません (すなわち、マッピング接続は存在しません)。

 

テーブルまたはストアドプロシージャレベルでのトレース

テーブルまたはストアドプロシージャレベルでのトレースの有効化:

 

1.データベースコンポーネントレベル出のトレースレベルが 常に または エラー に設定されていることを確認してください(上記参照)。
2.以下の1つを行います:
oトレースを有効化するテーブルの横のテーブルアクションボタン (例、 tbl-act-icon) をクリックします。
oストアドプロシージャの場合、「コンテキストメニューの表示」 mf_ic_storedproc_menu ボタンをクリックし、「プロシージャの設定」 をコンテキストメニューから選択します。

mf_db_trace_02

3.トレースレベルを選択します。「コンポーネント設定の使用」 オプションはコンポーネントレベルで定義された同じ設定を継承します。 「エラーに制限」 オプションはトレースをエラーイベントに制限します。 「常に無効化」 はこのテーブル、または、ストアドプロシージャではトレースが発生しないことを意味します。

 

データベースフィールドレベル出のトレース

データベースコンポーネントレベルとテーブルまたはストアドプロシージャレベル出のトレースを有効化すると、全てのフィールド (データベース列) はデフォルトでトレースレポートに含まれます。 任意で、データベースフィールド、または、 ストアドプロシージャパラメーターにトレースを制限することができます。これを行うには、テーブルアクション、または、データベースプロシージャ設定ダイアログボックス上の フィールド ボタンを押します。

mf_db_trace_03

このダイアログボックス上の選択は、ファイル構造のトレースに影響を与えます。  例、 隠すフィールドは、トレースファイル上で表示されません。これを行う必要があるかもしれません。例えばログファイルのサイズを減らす場合などが挙げられます。

 

複数のフィールドを同時に隠す、または、含む場合、ヘッダー内にそれぞれのオプションをクリックしてください。


(C) 2019 Altova GmbH