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

Noritaka Ishizumi [E-MAIL ADDRESS DELETED]
2008年 3月 27日 (木) 20:39:04 JST


こんにちは、石墨と申します。

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

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

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

Caused by: com.ibm.db2.jcc.b.SqlException:
[ibm][db2][jcc][10152][10176] 位置 1 または長さ 0 が無効です。
	at com.ibm.db2.jcc.b.rc.getBytes(rc.java:116)
	at org.seasar.extension.jdbc.types.BytesType.toBytes(BytesType.java:154)
	at org.seasar.extension.jdbc.types.BytesType$BlobTrait.get(BytesType.java:376)
	at org.seasar.extension.jdbc.types.BytesType.getValue(BytesType.java:89)
	at org.seasar.extension.jdbc.handler.AbstractBeanAutoResultSetHandler.getValues(AbstractBeanAutoResultSetHandler.java:96)
	at org.seasar.extension.jdbc.handler.AbstractBeanAutoResultSetHandler.createEntity(AbstractBeanAutoResultSetHandler.java:80)
	at org.seasar.extension.jdbc.handler.BeanListAutoResultSetHandler.handle(BeanListAutoResultSetHandler.java:78)
	at org.seasar.extension.jdbc.query.AbstractQuery.handleResultSet(AbstractQuery.java:441)
	... 28 more


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