DerbyでテーブルをCSVエクスポート

| | コメント(0) | トラックバック(0)

エクスポートは、規定のプロシージャを使う。
書式は下記のとおり。
========-
SYSCS_UTIL.SYSCS_EXPORT_TABLE (IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128), IN FILENAME VARCHAR(32672),
IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1),
IN CODESET VARCHAR(128))
========

1つ目:スキーマ名。たぶんたいがいの場合において指定はいらない。
2つ目:テーブル名。指定してください。ここ指定しないと即エラーっす。
3つ目:ファイル名。エクスポートするファイル名を含めたパスを書きます。ここ指定しないと即エラーっす。存在するファイル名を指定してもエラーっす。パスなしのファイル名のみはカレントに出力される。
4つ目:カラムのデリミター。指定なしはカンマ","。
5つ目:カラムの中身が文字のときのくくり文字。カラムAに「あいうえお」って入ってたら,"あいうえお",みたいなの。指定なしはダブルクォーテーション"""。
6つ目:文字コード。指定なしはDerbyが動いているJVMの文字コードと同じ。

たぶんたいがいの場合において2番目と3番目だけ指定しときゃいいんじゃないでしょか。
※指定なしは、nullを入れる。

で、プロシージャ呼び出しなんでcallを使ってください。
こんな感じすね。

例)
call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null,'HOGE','C:\\hoge.exp',null,null,null);

詳細はここ。
http://db.apache.org/derby/docs/dev/ref/ref-single.html#rrefexportproc

あと、これはバグに近いと思うんだけど、少なくとも10.3.1まではプロシージャ名が正しくても引数の数とか間違えると、まるでプロシージャ自体が存在しない風のエラーがでる。
========
ERROR 42Y03: 'SYSCS_UTIL.SYSCS_EXPORT_TABLE' is not recognized as a function or procedure.
========
ので要注意。

インポートはまた今度。


トラックバック(0)

このブログ記事を参照しているブログ一覧: DerbyでテーブルをCSVエクスポート

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/156

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ぴろしが2008年5月 9日 00:59に書いたブログ記事です。

ひとつ前のブログ記事は「DerbyとかMySQLのIDENTITY的なカラムのHibernateのアノテーション」です。

次のブログ記事は「rubyをEclipseで使ってみる6」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。