[pgsql-jp: 29470] bytea型の欄へbyte[]型データを格納する方法は?

Kuroda Tomohiro (黒田知宏) kuroda @ dcinc.co.jp
2003年 3月 24日 (月) 14:15:37 JST


黒田と申します。

現在、PostgreSQLのテーブルのbytea型欄へ、
byte[] 型のバイナリデータを格納・取得しようとしています。
次に示すようなプログラムを記述しました。

  String str = "abcde";
  byte[] binary = str.getBytes();
  conn.setAutoCommit(false);
  PreparedStatement ps = 
        conn.prepareStatement("INSERT INTO table (password) VALUES (?)");
  ps.setBytes(1, binary);
  ps.executeUpdate();
  ps.close();
  conn.commit();

実行してみたところ、次のようなエラーが発生しました。
  # executeUpdate() 実行のタイミングで発生します。

    java.sql.SQLException: ERROR: 
        Attribute 'password' is of type 'bytea' but expression is of type
'int4'

ちゃんと byte[] 型のデータ binary を指定しているつもりなのですが、
int型と解釈されてしまっているようです。
どのように指定すれば、意図通りの動作をしてくれるのか、わかりません。

どなたかお心当たりのある方がいらっしゃれば、ご指南いただきたく思います。

以上、よろしくお願いします。




pgsql-jp メーリングリストの案内