RDBデータの取得
RDBからデータを取得するには、RDBGetコンポーネントを使用します。RDBGetコンポーネントは、RDBMSへSQL文を発行し、実行結果をストリームとして出力します。フィールド定義やSQL文の生成には、「SQLビルダー」というツールを使用します。
RDBデータ読み込みのフローを作成する
1. フローウィンドウを表示し、パレットの「データベース」タブをクリックして、RDBGetコンポーネント(「RDBからデータを取得します」)を配置する
2. 処理に合わせてその他のコンポーネントも配置し、接続する
3. 配置したRDBGetコンポーネントを選択し、インスペクタで「コネクション名」プロパティの値を、作成済みのコネクション名に指定する
ここでは、データベースからデータを取得し(RDBGet コンポーネント)、CSV形式に変換して(Mapperコンポーネント)、ファイルとして出力する(FilePutコンポーネント)フローを作成しています。次の手順で、SQLビルダーを使用してフィールド定義やSQL文を設定していきます。
HINT
RDBとの連携に関連するコンポーネントは、パレットの「データベース」タブにまとめられています。
SQL ビルダーで設定する
1. RDBGetコンポーネントアイコンをダブルクリックする
2. SQLビルダーが表示されるので、左欄のテーブル名を中央の欄までドラッグして、テーブルを配置する
HINT
SQLビルダーは、RDBGetコンポーネントアイコンを右クリックして、表示されるメニューから「SQLビルダー」を選択しても起動できます。SQLビルダーでは、実際にデータベースに接続しながら、テーブル選択や、取得フィールドの設定などを行えます。
SQLビルダーのそれぞれの欄の境界線は、左右または上下にドラッグして、見やすいように幅や高さを変更できます。
3. 必要なテーブルをすべて中央の欄に配置する
4. テーブル間で「キー」(主キー)とする項目をドラッグして接続する
5. 取得したい項目にチェックマークを付けると、画面下部にSQL文が自動的に表示される
6. 「SELECTテスト」をクリックすると、実際の問い合わせ結果が表示される
7. 「閉じる」をクリックしてテスト結果を閉じ、SQLビルダーも「OK」をクリックして閉じる
8. フィールド定義の更新を確認するダイアログで「はい」をクリックする
HINT
「SELECTテスト」のテスト結果でフィールド名の順序が違っていても、あとからマッピングの設定で変更できます。
9. RDBGetコンポーネントアイコンを選択し、「ストリーム」ペインでフィールド定義が更新されたことを確認する
10. インスペクタで、「SQL文」プロパティにSQL文が入力されていることを確認する
SQLビルダーで設定した内容が、RDBGetコンポーネントの「SQL文」プロパティに入力されます。
HINT
SQL文を設定するには
SQL文は、SQLビルダーを使用せず、RDBGetコンポーネントの「SQL文」プロパティに直接入力してもかまいません。また、直前にMapperコンポーネントを配置し、「SQL文」プロパティに SQL文の文字列をマッピングして、実行時に SQL 文を決定することもできます。
マッピングを設定する
1. Mapperコンポーネントを右クリックし、「入力ストリーム定義を出力にコピーする」を選択する
2. Mapperコンポーネントのストリーム型とフィー ルド定義を処理に合わせて変更する
3. Mapperコンポーネントをダブルクリックして マッピングを指定する
4. 出力先がCSVの場合は、Mapperコンポーネントのストリームプロパティで、「出力エンコーディング」や「先頭行のフィールド名を出力」の値を設定する
5. 出力先のファイルパスを設定する
フローを実行すると、SQL文を実行してRDBからデータを取得した結果がファイルとして出力されます。
HINT
ここでは、Mapperコンポーネントのストリーム型を「CSV」に、また「注文日」フィールドのデータを文字列として出力するため、データ型をDateTimeからStringに変更しています。
フィールドの表示順を変更するには
出力するフィールドの表示順を変更するには、対象のフィールドを右クリックし、メニューから「上に移動」または「下に移動」を選択して1つずつ移動させます。