[Seasar-user:6711] Re: JDBCでバインドできる文字列にサイズの制限について

Hirotaka HONMA [E-MAIL ADDRESS DELETED]
2007年 3月 16日 (金) 10:58:46 JST


本間です。

on Fri, 16 Mar 2007 10:38:40 +0900
in [Seasar-user:6710] JDBCでバインドできる文字列にサイズの制限について
<[E-MAIL ADDRESS DELETED]> wrote:

> JDBC thinドライバーを使用して、2000バイト文字列(日本語1000文字)をバインドさせて登録/変更するSQLを発行すると、
> 「ORA-17070: データ・サイズがこの型の最大サイズを超えています。」
> というエラーが出ます。
> 回避策としては、以下サイトの通りで出来るのだとは思いますが、
>  http://redolog.livedoor.biz/archives/10156764.html
> S2Daoを使用している場合には、この辺(setStringではなくsetCharacterStreamを使用してバインドするというところ)は、
> いじれないところだと思っています。
> どのように解決するのが得策でしょうか??

カラムを絞れるのでしたら、
http://s2dao.seasar.org/ja/s2dao.html#CLOBType
の方法でしょうか。

CLOBと書いてありますが、内部的にはString <=> CharacterStream 
しているので、

> (setStringではなくsetCharacterStreamを使用してバインドするというところ)

と合うと思います。

補足:
リンク先にはStringClobTypeをdiconへ登録することとありますが、
s2daoのjarに含まれているdao.diconをお使いの場合は登録不要で
す。(dao.diconには記述されていますので)




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