RDBMSのテーブルに対してMerge文を実行します。
入力 | フォーマット | Record |
---|---|---|
接続数 | 1 | |
説明 |
入力ストリームのフィールド定義を専用の設定画面で行います。
このフィールド定義は直前に連結したマッパーの出力ストリームのフィールド定義にコピーされ、そこに対して値のマッピングを行います。 |
|
出力 | フォーマット | Record |
説明 | 入力ストリームをそのまま出力します。 |
名前 | プロパティ型 | マッピング | 説明 |
---|---|---|---|
コネクション名 | connection | - | 接続先のRDBを指定します。 コネクションペインまたは管理コンソールにて作成されたRDB接続名を選択します。 |
テーブル名 | string | 入力&出力 |
更新対象のテーブル名を指定します。
値フィールドをクリックすると、テーブル名とフィールドの設定画面が表示されます。ここでフィールド定義を行うことによってテーブル名が自動で設定されます。設定画面については、下記トピック「テーブル名とフィールドの設定」を参照してください。 |
バッチ処理件数 | int | - | バッチ処理で一度に送信するレコード件数を設定します。 |
処理件数 | int | 出力 | 実際に更新されたレコード件数が取得できます。 |
タイムアウト(秒) | int | 入力&出力 |
RDBMSへ更新文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。
指定時間を経過しても実行が終わらない場合は汎用 となります。 0の場合はタイムアウトすることはありません。 |
入力 | category | - |
入力ストリームのフィールド定義を行います。
種別にはMerge文においてその項目をどのように扱うかを指定します。 テーブルのキーとなるカラムでは「キー」を指定します。 Insert時のみ使用する項目では「Insertのみ」を指定します。 Update時のみ使用する項目では「Updateのみ」を指定します。 |
コミット | RDBMSをコミットします。 |
---|---|
ロールバック | RDBMSをロールバックします。 |
タイプ | パラメーター | エラー処理フロー
へのストリーム | エラー
コード | 説明 |
---|---|---|---|---|
汎用 | なし | コンポーネントの入力ストリーム | なし | コネクション名 に指定したコネクションが見つからない場合 |
データベースベンダー固有の例外コード | テーブルまたはフィールドが見つからない場合 | |||
データベースベンダー固有の例外コード | SQLの実行に失敗した場合 | |||
接続エラー | なし | コンポーネントの入力ストリーム | なし | DBMSとの接続に失敗した場合 |
フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。
本コンポーネントではDBMS固有のMerge構文を利用することで高速挿入を実現しています。
処理内容としてはRDBPutコンポーネントの「Update/Insert」(または「Insert/Update」) モードと同等ですが、本コンポーネントを使用することで以下の優位性があります。
本コンポーネントで使用可能なDBMSは以下の通りです。
ただしDBMSのサーバーバージョンが上記に該当する場合でもJDBCドライバーが古いバージョンの場合は正しく動作しないことがあります。
ご利用の際には必ず動作確認を行い、動作に支障がある場合はRDBPutコンポーネントをご使用ください。
RDBMSのテーブルに対して処理するテーブルとフィールドの選択は、専用のダイアログボックスから行います。
ダイアログボックスから選択すると、インスペクタの入力タブに処理対象フィールドとして表示されます。
種別の設定は、専用のダイアログボックスでフィールドを選択してから、インスペクタで行います。
表示名に値を設定することでテーブル上の実際のカラム名とストリーム定義で使用するフィールド名を別にすることができます。
定義画面を表示するには、以下のいずれかの操作を行います。
定義画面を表示すると(1)にテーブルの一覧が表示されます。テーブルを指定すると、(3)(5)に情報が表示されます。
テーブルを指定すると、(5)にテーブルのフィールド一覧が表示されます。初期状態では、すべてのフィールドが処理対象になるように(4)のチェックボックスがオンになっています。
フィールドを選択して「OK」をクリックすると、インスペクタの入力タブにフィールド一覧が表示されます。
表示名に値を設定することでテーブル上の実際のカラム名とストリーム定義で使用するフィールド名を別にすることができます。