エクスポートは、規定のプロシージャを使う。
書式は下記のとおり。
========-
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.
========
ので要注意。
インポートはまた今度。
コメントする