« 暗号化してから圧縮するか、圧縮してから暗号化するか | Main | SingletonS2Containerでキャストなしのコンポーネント取得 »

2009.02.15

byteaデータの書き込み

 PostgreSQLでbytea型のデータを書き込む処理のメモ。

1.PreparedStatementでSQLを構築する。
2.PreparedStatement#setBinaryStream(int, InputStream, int)でデータをセットする。なお、書き込むデータが既にbyte[]になっている場合は、setBytes(byte[])でも可(わざわざByteArrayInputStream()を作成しなくてもOK)。

 注意点としては、setBinaryStream(int, InputStream)や、setBinaryStream(int, InputStream, long)の場合は、is not yet implemented. ということでエラーになってしまうようです(postgresql-8.3-604.jdbc4のドライバで検証)。

 なお、bytea型のデータを読み込む場合は、ResultSet#getBinaryStream(int)を使用するか、あるいはbyte[]の状態のまま次の処理を行うのであればResultSet#getBytes(int)で取得してもOKのようです。

|

« 暗号化してから圧縮するか、圧縮してから暗号化するか | Main | SingletonS2Containerでキャストなしのコンポーネント取得 »

DB」カテゴリの記事

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/44054940

Listed below are links to weblogs that reference byteaデータの書き込み:

« 暗号化してから圧縮するか、圧縮してから暗号化するか | Main | SingletonS2Containerでキャストなしのコンポーネント取得 »