sticker (0.1.5.2) | 2009-10-25 12:47 |
<export>タグは、データをエクスポートする際に利用するタグです。 次の3種類のエクスポートが可能です。
いずれの場合も<export>タグの子要素として定義したSelect文の結果がエクスポートされます。
ローカルデータベース(hsqldb)にエクスポートする際、エクスポート先のテーブルに対して追加でデータがエクスポート されます(キーの重複やユニーク制約に注意してください)。
<connect>で接続したDBからCSVファイルにエクスポートする場合
<export destination="CSVファイル名" target="remote" [fireCharset="CSVファイル文字コード"] [separator="CSVデータの区切り文字"] [quote="CSV文字データの囲み文字"] [forceQuote="フィールドデータを常に囲むのであればtrue。通常はfalse"] [header="1行目をヘッダーとする場合はtrue。この場合、SELECT時の列名が項目名になる"] /> リモートのテーブルからデータを抽出するためのSelect文 </export>
ローカルデータベース(hsqldb)のテーブルからCSVファイルにエクスポートする場合
<export destination="CSVファイル名" target="local" [fireCharset="CSVファイル文字コード"] [separator="CSVデータの区切り文字"] [quote="CSV文字データの囲み文字"] [forceQuote="フィールドデータを常に囲むのであればtrue。通常はfalse"] [header="1行目をヘッダーとする場合はtrue。この場合、SELECT時の列名が項目名になる"] /> リモートのテーブルからデータを抽出するためのSelect文 </export>
<connect>で接続したDBからローカルデータベース(hsqldb)のテーブルにエクスポートする場合
<export destination="エクスポート先ローカルテーブル名"> リモートのテーブルからデータを抽出するためのSelect文 </export>
サーバー1のDeptテーブルの内容をCSVファイルとしてエクスポートします
<servers> <server name="db-server1" user="test" pass="user"/> </servers> <connect name="db-server1"> <export destination="dept.csv"> <![CDATA[ SELECT Id ,DeptName FROM Dept ]]> </export> </connect>
ID | DeptName |
1 | Development Dept. |
2 | General Affairs Dept. |
Id,DeptName 1,Development Dept. 2,General Affairs Dept.
<connect>で接続したDBからCSVファイルにエクスポートする際、destination属性で指定するCSVファイル名を ローカルデータベース(hsqldb)に定義したテーブルと同じものにするとStickerはCSVファイルでなく、ローカル データベース(hsqldb)のテーブルに対してエクスポートを行ってしまいます(仕様)。 このため、CSVファイルに出力する際はファイル名に拡張子をつける等、注意してください。