データベースへデータを書き込むには

XML データからデータベースへ書き込む

1. フローウィンドウを表示し、FileGet、Mapper コンポーネントに続き、「データベース」タブから RDBPut コンポーネント(「RDB へデータを挿入、またはデータの更新・削除をします」)を配置する

2. 「ストリーム定義を Record に変換します」というダイアログが表示されたら「はい」をクリックして閉じ、その他のコンポーネントも配置、接続する

3. FileGetコンポーネントアイコンを選択し、「ファイルパス」プロパティに、書き込み用のデータを含む XML ファイルへのパスを指定する

4. 「フィールド定義をインポートしますか?」という確認のダイアログが表示されたら、「はい」をクリックし、インポートされたフィールド定義を確認する

5. RDBPutコンポーネントを選択し、「コネクション名」プロパティで使用するコネクションを指定し、「実行する処理」プロパティが「Insert」であることを確認する

6. RDBPutコンポーネントをダブルクリックする

7. SQL ビルダーの「テーブルとフィールドの設定」ダイアログが表示されるので、更新対象のテーブルを選択し、項目にチェックマークが付いていることを確認して、「OK」をクリックする

8. RDBPutコンポーネントのインスペクタの「入力」タブに、フィールド名が反映されていることを確認する

9. Mapperコンポーネントのフィールド定義も自動的に設定されていることを確認する

10. データのマッピングを行う

 

フローを実行すると、フローの出力結果は何も表示されませんが、データベースにデータが追加されます。

HINT
データの更新を確認するには
データベースへのデータの更新は、RDBGet コンポーネントの SQL ビルダーで SELECT テストをすることで確認できます。

 

CSV ファイルからデータベースへ書き込む

1. RDBPutコンポーネントを含むRDBデータ書き込みのフローを作成する

 

2. FileGetコンポーネントアイコンを選択し、「ファイルパス」プロパティに、書き込み用のデータを含む CSV ファイルへのパスを指定する

3. 読み込むデータに合わせて、FileGetコンポーネントのストリーム定義を設定する

HINT
手順3の FileGet コンポーネントのストリーム定義では、 ストリーム型と「読み込み開始行」などのストリームプロパティ、およびフィールド定義をデータに合わせて設定します。

 

4. RDBPut コンポーネントで「コネクション名」プロパティを設定し、「実行する処理」プロパティが「Insert」であることを確認して、ダブルクリックする

5. SQLビルダーの「テーブルとフィールドの設定」ダイアログが表示されるので、更新対象のテーブルを選択する

6. 更新対象のフィールド名にチェックマークが付いていることを確認し、「OK」をクリックする

7. RDBPutコンポーネントのインスペクタの「入力」タブに、フィールド名が反映されていることを確認する

 

8. Mapperコンポーネントのフィールド定義も自動的に設定されていることを確認する

HINT
「キーにする」項目(キー定義)について
「実行する処理」プロパティが「Insert」の場合は、通常キー定義を必要としませんが、「Insert」以外の場合は、インスペクタの「入力」タブで必ずキー定義を行います。これは、対象レコードを特定するためのキーであり、データベースの主キーとは異なります。「Insert」以外を指定してキー定義を行っていない場合は、コンパイルエラーになります。

 

9. データのマッピングを行う

HINT
「実行する処理」プロパティ
RDBPut コンポーネントの「実行する処理」プロパティでは、以下のデータベース更新処理を選択できます。

説明

Insert

フィールド定義にあるすべてのフィールドを、テーブルにレコードとして挿入します。通常キー定義は使用しませんが、DBMS が Oracle で、かつBLOB または CLOB 列がフィールドに含まれる場合はキー定義が必要です。

Update

「キーにする」項目で「はい」を指定したフィールドにマッチするレコードを、キー以外のフィールドを用いて更新します。キーとするフィールドを更新することはできません。

Insert/Update

フィールド定義を用いて Insert を実行し、キー違反エラーが発生した場合は Update を実行します。PostgreSQL ではこのモードは使用できません。

Update/Insert

フィールド定義を用いて Update を実行し、更新件数が 0 件の場合は Insert を実行します。

Delete

「キーにする」項目で「はい」を指定したフィールドにマッチするレコードを削除します。キーにするフィールド以外は使用しません。

 

キー違反エラーとは、PRIMARY Key制約やUNIQUE Key 制約に違反した場合に発生するエラーです。 

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

このセクションの記事

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