[Seasar-user:13450] Re: S2JDBCで0バイトのblobデータの読み取り

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 3月 27日 (木) 21:30:32 JST


小林 (koichik) です.

Date:    Thu, 27 Mar 2008 20:39:04 +0900
From:    "Noritaka Ishizumi" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13449] S2JDBCで0バイトのblobデータの読み取り

> Seasar2 2.4.23のS2JDBCを利用して、
> DB2のBlobデータを読み取る際に、
> Blobデータが0バイトの時に限り、下記のエラーが発生します。

うーん,java.sql.Blob の Javadoc では

----------------------------------------------------------------------
length - コピーされる連続したバイト数。長さの値は、0 以上である必要がある

SQLException - BLOB 値にアクセスするときにエラーが発生した場合。
pos が 1 より小さいか、または length が 0 より小さい場合
----------------------------------------------------------------------

となっていて,length に 0 を渡すのは合法なはずだと
思うんですけどねー.

> BytesType.toBytesで、Blobが0バイトの時はblobから読み取らずに、
> そのまま0バイトのbyte[]を返すように修正すれば良いように思うのですが、
> いかがでしょうか。

そのように修正しました.
SNAPSHOT をデプロイしたのでご確認ください.

http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.24-SNAPSHOT/s2-framework-2.4.24-20080327.115554-4.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.24-SNAPSHOT/s2-extension-2.4.24-20080327.115554-3.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.24-SNAPSHOT/s2-tiger-2.4.24-20080327.121022-5.jar


Seasar2.4.24 もそろそろリリースしなきゃだなー.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内