2011-07-26 10 views
1

現在、4096文字より長い場合、CLOBオブジェクトをhibernateで保存できないという問題が発生しています。それ以下のものは、正常に正しく動作します。例外Hibernateはsession.save(POJO)に従っているがスローされます。HibernateとInformixに関する質問

java.sql.SQLException: System or internal error java.sql.SQLException: System or internal error java.security.PrivilegedActionException: java.io.IOException: Permission denied

我々が使用している現在のデータベースは、Informixです。これに関するいかなる助力も非常に高く評価されます。

ありがとうございます。

+0

データベースでCLOBをどのように指定しましたか? – home

答えて

5

informixドライバは、LOBCACHEという環境変数を使用して、CLOBをデータベースに書き込むときに使用するメモリ量を決定します。

デフォルトでは、LOBCACHEが未定義の場合、この値は4096です。

CLOBオブジェクトがそれより大きい場合、一時ファイルを作成してから、基本的に一度に4096バイトのバッファ書き込みを実行します。 Permission denied例外が発生しているのは、その一時ファイルを作成できないためです。

環境変数を手動で大きな数値に設定してみてください。そうでない場合は、どのような権限とその一時ファイルを作成し、アプリケーションサーバーに提供するか、またはそのアクセス許可を処理する必要があります。

+0

ありがとうございます。私はこれを試してみる。 – Noob