最近の更新

2009-09-27
2009-07-06
2009-04-11
2009-04-09
2009-03-06

最新リリース情報

sticker (0.1.5.2)2009-10-25 12:47

サイドバー

<export>タグ

<export>タグは、データをエクスポートする際に利用するタグです。 次の3種類のエクスポートが可能です。

  • <connect>タグで接続したデータベースのテーブルからCSVファイルへエクスポート
  • <connect>タグで接続したデータベースのテーブルからローカルデータベース(hsqldb)のテーブルへエクスポート
  • ローカルデータベース(hsqldb)のテーブルからCSVファイルへエクスポート

いずれの場合も<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>

エクスポート前のDeptテーブル内容

IDDeptName
1Development Dept.
2General Affairs Dept.

エクスポート実行時のCSVファイル(dept.csv)の内容

Id,DeptName
1,Development Dept.
2,General Affairs Dept.

注意

<connect>で接続したDBからCSVファイルにエクスポートする際、destination属性で指定するCSVファイル名を ローカルデータベース(hsqldb)に定義したテーブルと同じものにするとStickerはCSVファイルでなく、ローカル データベース(hsqldb)のテーブルに対してエクスポートを行ってしまいます(仕様)。 このため、CSVファイルに出力する際はファイル名に拡張子をつける等、注意してください。