[Seasar-user:5470] Re: DB2 S2Dao で BLOB 型のデータを取得時に Exception が発生

Akira Shimosako [E-MAIL ADDRESS DELETED]
2006年 12月 14日 (木) 14:42:24 JST


下佐粉です。

志村さんが出されている情報にほぼ全ての情報がありますが、
少し補足させてください。

> Exception Type: com.ibm.db2.jcc.c.SqlException
> Message: DB2 SQL error: SQLCODE: -270, SQLSTATE: 42997,
> SQLERRMC: 63

DB2コマンドウィンドウでdb2 "? SQL-270"とやると、
志村さんが示されていた内容と同じ内容の解説が日本語で出ます。

=========================
SQL0270N 関数をサポートしていません
          (理由コード = "<reason-code>")。

説明:

以下の理由コードによって示されている制限に違
反しているため、ステートメントを処理できませ
ん。

(中略)

 63 LOB タイプ、LOB
タイプ上の特殊タイプ、または構造化タイプの列
は、 スクロール可能カーソルの選択リストには
指定できません。
=========================

という事ですね。
(「関数」はFunctionの訳なので、
 本来は「機能」と訳すべきところですが。。)

現状、DB2のJDBCドライバには、scrollable cursorでは
LOB列(BLOB,CLOBなど)をfetchできないという制限があります。
(LOB以外ならOKです)
ですのでS2DAO側でカーソルの設定を変える必要があります。

S2DAOの設定上で、scrollable cursorを使うのを止めるよう
にすれば解決すると思います。

===========================
下佐粉昭 (Akira Shimosako)

--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/




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