[pgsql-jp: 34095] JDBCでのCOPY
Shinzo Matthew SAITO
s-ml @ shinzo.net
2004年 10月 12日 (火) 18:17:33 JST
齊藤新三と申します。
JDBC経由でのCOPYコマンドに関してお伺い致します。
使用しているのはPostgreSQL7.4.2です。
WEBアプリケーションでDB上のあるテーブルに大量にデータを書き込む必要があるた
め、copyコマンドの使用を検討しています。そこで、いろいろ試してみたのですが、
うまくいきません。皆様のお知恵をお借りしたいと思います。
Java上で、copyコマンドでインポートするファイルを作成し、JDBC経由で以下のコマ
ンドを発行しようとしたらエラーが起きました。
(1) COPY table_name(c1,c2,c3) FROM '/var/sqlcopy_1.txt' WITH DELIMITER ','
エラーは、
(1)' org.postgresql.util.PSQLException: ERROR: must be superuser to COPY
to or from a file
です。
これはユーザーの権限問題があるのは知っていましたので、今度は、SQL文を以下のも
のに変更しました。
(2) \copy table_name(c1,c2,c3) FROM '/var/sqlcopy_1.txt' WITH DELIMITER ','
この場合もだめでして、以下のようなエラーをはきました。
(2)' org.postgresql.util.PSQLException: ERROR: syntax error at or near "\"
ところが、うえの(2)のSQL文を直接psqlから発行するとすんなり通ってしまいます。
なにぶん初心者ですので、原因が皆目検討つきません。
ひょっとしてJDBC経由で\copyは使えないのでしょうか?もし、使えないのでしたら、
こういった場合はどういった回避策があるのでしょうか。
どうぞよろしくお願い致します。
☆----------------☆
Shinzo Matthew SAITO 齊藤 新三
E-mail mailto:s-ml @ shinzo.net
pgsql-jp メーリングリストの案内