入力レコードとRDBレコードとの差分を処理するには

入力レコードと RDB レコードとの差分を確認する

 1. フローウィンドウを表示し、FileGet、Mapper コンポーネントに続き、「データベース」タブから RDBDiff コンポーネント(「入力値と RDB の差分を取得します。」)を配置する

 

2. RDBDiffコンポーネントのインスペクタの「コネクション名」プロパティでコネクションを指定し、アイコンをダブルクリックする

 

3. 「テーブルとフィールドの設定」ダイアログが表示されるので、データを比較する対象のテーブルをクリックし、「OK」をクリックする

4. 「テーブル名」プロパティにテーブル名が設定され、フィールド定義も設定されたことを確認する

HINT
RDBDiff コンポーネントを配置する際に、ストリーム定義を変換する確認のダイアログが表示されたら「はい」をクリックして閉じます。

5. Mapperコンポーネントアイコンをダブルクリックし、マッピングウィンドウでデータのマッピングを行う

 

6. その他のコンポーネントも配置し、接続してフローを完成させる

フローを実行すると、入力データが指定したテーブルの全レコードと比較され、差分のあったレコードに「差分種別」フィールドが追加されて出力されます。

HINT
RDBDiff コンポーネントの入力ストリームのフィールド定義は、「テーブルとフィールドの設定」ダイアログで行います。このフィールド定義は、直前に連結したマッパーの出力ストリームのフィールド定義にコピーされ、それに対して値のマッピングを行います。従って、このコンポーネントに連結できるコンポーネントはマッパーのみとなっています。

 

差分を吸収してデータベースを更新する

1. 入力値と RDB の差分を取得するフローを作成し、RDBDiffコンポーネントアイコンを選択して、インスペクタの「実行する処理」プロパティで、「更新する:入力」または「更新する:RDB」のいずれかを選択する

 

データベースを更新して入力ストリームのレコードデータを出力する場合は「更新する:入力」、データベースを更新して RDB のレコードデータを出力する場合は「更新する:RDB」を指定します。

HINT
「実行する処理」プロパティ
RDBDiff コンポーネントの「実行する処理」プロパティでは、以下の処理を選択できます。
•「更新しない:入力」- RDB の更新は行わずに、入力ストリームのレコードデータを出力する
•「更新しない:RDB」-RDBの更新は行わずに、RDB のレコードデータを出力する
•「更新する:入力」-入力ストリームのレコードでRDB を更新し、入力のレコードデータを出力する
•「更新する:RDB」-入力ストリームのレコードでRDB を更新し、RDB のレコードデータを出力する 

その他のデータベース関連コンポーネント
パレットの「データベース」タブではほかに、以下のようなコンポーネントも利用できます。

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
    キーワード:
他にご質問がございましたら、リクエストを送信してください

このセクションの記事

他のキーワードで検索する