このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

この例は、 XML ソースからデータが与えられる既存の データベース テーブルの更新方法について説明しています。この例は以下のファイルを使用します:

 

altova-cmpy.xml — データベースに挿入されるソースデータを含んでいます。

Altova_Hierarchical.xsd — 上記のインスタンスファイルを検証するために使用されるスキーマです。

altova.mdb — 更新されるターゲットデータベースです。

 

全てのファイルは <マイ ドキュメント>\Altova\MapForce2020\MapForceExamples\ フォルダー内にあります。下の説明では、簡素化のために、これらのファイルへの完全なパスは省略されています。

 

この例のマッピングは、サンプルデータベースファイルを変更します。元のデータベースをバックアップし、下記のステップを開始する前に、新規のコピーを起動することが奨励されます。することが奨励されます。バックアップを作成することにより、元の例が上書きされず、下記と同じ結果を得ることができます。詳細に関しては、次を参照してください:データベースを変更するマッピングの実行

 

マッピングの目的は、XML ドキュメントからの 「Person」インスタンスを持つ 「Person」 テーブル内のレコードを更新することです。XML ファイル内の各 個人は、 PrimaryKey 子要素を持ちます。「Person」 テーブル内の各個人には、 PrimaryKey 列が存在します。 データベース内に PrimaryKey を持つ個人と XML ファイル内での個人の PrimaryKey が対応するレコードのみが更新される必要があります。

 

マッピングの目的を達成するために、以下のステップを行います。

 

ステップ 1: ソース XML コンポーネントを挿入する

「挿入」 メニューから、「XML スキーマ/ファイル」をクリックして、 Altova_Hierarchical.xsd を参照します。インスタンスファイルを与えるように問われると、altova-cmpy.xml を参照してください。

 

ステップ 2: ターゲットデータベースを挿入する

「挿入」 メニューから、「データベース」をクリックして、 altova.mdb に接続するためにウィザードのステップを行ってください。(次を参照してください: 例: "altova.mdb" データベースをマッピングに追加する)。

 

ステップ 3: 接続を描く

下に表示されるとおりマッピングの接続を描きます。

mf_db_update_01

 

ステップ 4: 更新アクションの構成

1.ターゲットコンポーネントで、 「Person」 テーブルの横の アクション: 挿入 ( tbl-act-icon ) ボタンをクリックします。

2.「レコードに対するアクション」の横の 「以下の条件で更新する...」 、を選択します。これにより、データベーステーブルアクションを、条件付きの更新アクションに変更します。つまり、 条件が満たされる場合のみ、現在のレコードは更新されます (次のステップを参照してください)。

3.「PrimaryKey」 値 の横にあるオプションを、以下に表示されるように「equal」選択します。これは更新の条件を定義します。つまり、 データベースの記録は、「PrimaryKey」 値 が、マッピングから来る 「PrimaryKey」 値に等しい場合のみ、更新されます。

mf_db_update_02

この例では、等値演算子 が 「PrimaryKey」 フィールドに適用されています。これはデータベースを更新する場合、よくあるシナリオです。 型のフィールドに対して定義することのできる定義は、必ずしも主キーではありません。 例えば、「最初」「最後」 のフィールドの横のオプションに 「equal」 を選択することにより、  ソース XML 内で、最初と最後の名前が同じであるレコードのみを更新します。

 

任意で、NULL equal チェックボックスを選択します。 このサンプルでは、ソース XML内の PrimaryKey フィールド、またはデータベース内の PrimaryKey フィールドに null 値が含まれていないため、このチェックボックスには関連性はありません。 しかしながら、データに null 値が含まれており、このような値を等価として扱うには、場合、このチェックボックスをチェックする必要があます。それ以外の場合は、希望しない結果が生成される場合があります。 詳細に関しては、データベーステーブルアクション内の Null 値の処理を参照してください。

 

 

4.ダイアログボックスを閉じるために「OK」をクリックします。マッピングに戻り、 アクション: 挿入 tbl-act-icon ボタン がアクション: 更新 ( mf_db_ic_action_update ) ボタンに変更されたことに注目してください。 これはこのテーブルのために更新アクションが構成されていることを示しています。

 

ステップ 5: マッピングをプレビューし、データベースを更新する

マッピングをプレビューするために「出力」タブをクリックします。データベースに対して実行されるアクションを含む、 SQL スクリプトが生成されます。スクリプトは、まだ、データベースを変更していません。 これはまだプレビューです。

mf_db_update_03

データベースに対してスクリプトを実行するには以下を行います:

 

「出力」 メニューから、「SQL-スクリプトの実行」をクリックします。

 

メモ:MapForce から直接 SQL スクリプトを実行することは、データベースを更新する方法のひとつです。次も参照してください: データベースを変更するマッピングの実行

(C) 2019 Altova GmbH