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

RDBデータの更新

RDBのテーブルを更新するには、RDBPutコンポーネントを使用します。更新用のデータを、RDBPutコンポーネントのフィールド定義にマッピングして設定します。そのため、RDBPutコンポーネントに接続可能なコンポーネントは、Mapperのみとなります。

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

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

6-114-01.png

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

6-114-02.png

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

6-114-03.png

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

6-114-04.png

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

6-114-05.png

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

6-114-06.png

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

6-114-07.png

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

6-114-08.png

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

6-114-09.png

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

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

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

6-114-11.png
 

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

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

6-114-12.png 

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

6-114-13.png

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

6-114-14.png

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

 

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

6-114-15.png

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

6-114-16.png

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

6-114-17.png

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

6-114-18.png 

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

6-114-19.png

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

 

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

6-114-20.png

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

説明

Insert

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

Update

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

Insert/Update

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

Update/Insert

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

Delete

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

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

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

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