sticker (0.1.5.2) | 2009-10-25 12:47 |
<import>タグは、<connect>タグで接続したデータベースのテーブルに対して CSVデータをインポートするためのタグです。 インポート元となるデータはCSVファイルで、全件を一括でインポートします。このとき インポート先テーブルにデータが存在した場合であっても、追加でインポートを行いま す(キーの重複やユニーク制約に注意してください)。
インポートは原則的に<connect>タグで接続したデータベースのテーブルに対して 行いますが、target属性をlocalとすることにより、ローカルのデータベース(hsqldb) のテーブルに対してCSVデータをインポートすることもできます。
CSVデータをインポートする場合
<import source="インポート元CSVデータ" destination="インポート先テーブル名" target="remote" [fireCharset="CSVファイル文字コード"] [separator="CSVデータの区切り文字"] [quote="CSV文字データの囲み文字"] [header="1行目をヘッダーとして認識する場合はtrue"] />
ローカルデータベース(hsqldb)にデータをインポートする場合
<import source="インポート元CSVデータ" destination="インポート先hsqldbのテーブル名" target="local" [fireCharset="CSVファイル文字コード"] [separator="CSVデータの区切り文字"] [quote="CSV文字データの囲み文字"] [header="1行目をヘッダーとして認識する場合はtrue"] />
<connect>タグでデータベースサーバー2に接続し、csvdata.csvファイルの内容を Employeeテーブルにインポートします。
ID|DeptId|Name|Age 7|2|"Sabro Goto"|30 8|1|"Shiro Endo"|20
<servers> <server name="db-server2" user="test" pass="user"/> </servers> <connect name="db-server2"> <import source="csvdata.csv" destination="employee" target="remote" quote='"' separator="|" /> </connect>
id | DeptId | Name | Age |
1 | 1 | Jiro Tanaka | 25 |
2 | 1 | Taro Satou | 30 |
3 | 1 | Saburo Kato | 21 |
4 | 2 | Kenichi Takahashi | 24 |
5 | 2 | Tomonari Endou | 42 |
6 | 1 | Yuji Ishihara | 52 |
7 | 2 | Sabro Goto | 30 |
8 | 1 | Shiro Endo | 20 |
通常のCSVデータ(カンマ区切り、文字は""で囲む、ヘッダ有り)をインポートする 場合はほとんどの属性を省略可能です。
ID,DeptId,Name,Age 9,1,"Yuuki Murakami",31 10,1,"Goro Sato",52
<servers> <server name="db-server2" user="test" pass="user"/> </servers> <connect name="db-server2"> <import source="csvdata.csv" destination="employee" /> </connect>
id | DeptId | Name | Age |
1 | 1 | Jiro Tanaka | 25 |
2 | 1 | Taro Satou | 30 |
3 | 1 | Saburo Kato | 21 |
4 | 2 | Kenichi Takahashi | 24 |
5 | 2 | Tomonari Endou | 42 |
6 | 1 | Yuji Ishihara | 52 |
7 | 2 | Sabro Goto | 30 |
8 | 1 | Shiro Endo | 20 |
9 | 1 | Yuuki Murakami | 31 |
10 | 1 | Goro Sato | 52 |