質問
DBのテーブルからデータを取得し、CSVファイルとしてHSQストレージに出力する処理を構築しています。
[テーブル読み取り] 処理においては、対象テーブルに接続することで自動的に列名を取得できますが、[CSVファイル書き込み] 処理の「列一覧」にも、読み取り時と同様の列一覧を転記することは可能でしょうか。
回答
[CSVファイル書き込み]処理の「列一覧」は、手動で設定していただくかHULFT Squareストレージ上のファイルから読み取っていただく必要があります。
そのため、ご要望の「ファイル書き込み処理の「列一覧」へDB読み取り処理で取得した列一覧を転記する」という操作については、実現することができません。
ただし、代替として「DBから取得したデータを動的にCSVファイルへ書き出す」という処理はスクリプトの構築によって可能です。
以下に実装例をご案内いたしますので、参考の一助としてください。
■処理概要
[検索系SQL実行] 処理にて対象テーブルのカラムを取得・CSVへ書き出しを行い、そのファイルへ追記する形でレコードをCSVへ書き込みます
■実装手順
- JDBCコネクター[検索系SQL実行] にて、読み取り対象テーブルのカラム名を一覧取得します
- [行列の入れ替え] 処理にて、1で取得したカラム名一覧を列から行へ変換します
(変換 > テーブル > 行列の入れ替え) - [CSV書き込み] 処理にて、手順1で取得したカラム名を行として一度書き出します
- [テーブル読み取り処理] を配置し、今度は対象テーブルのレコードを取得します
- [CSV書き込み] 処理をもう一つ配置し、手順3で書き出したファイルへ上書きする形*で対象テーブルのレコードを書き込みます
*手順3と同じファイル名を指定し、[書き込み設定]タブの[追加書き込み]に チェックを入れます
■実装イメージ
■参考
◇検索系SQL実行
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Connector/database_execute_select_SQL.htm
◇行列の入れ替え
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Connector/table_switch_row_column.htm
コメント
0件のコメント
記事コメントは受け付けていません。