OracleのBlob その後(1)
9/27のコメントで予告しましたが、調べてみたので報告します。JDBC限定です。
実行環境は、WindowsXP Professional SP2 + JDK 1.4.2_11 + Eclipse 3.0.1で、最初はOracleだけ調べようと思ったのですが、PostgreSQLとMySQLでも調べてみることにしました(下記のproductが対象)。
Oracle 8i Oracle 10g PostgreSQL 8.0.7 MySQL 4.0.22-standard
ですが、思ったより大変なので、詳細の結果はまた後日ということで。
結論から言うと、8iではBlobのままでは使えない。明示的にjava.sql.Blob→oracle.sql.BLOBしなければならない。10gでは、java.sql.Blobのままで操作可能。PostgreSQLは、ラージオブジェクトはOID型にlo_create(0)などと書いて初期化するらしい。MySQLは、Blobのままで良いようだ。
同じ時点のバージョンではないので、公平な評価ではないことを明言しておく。