ここでは、Sun の JDBC ドライバに関する既知の問題とその解決方法を示します。
この問題は、2 つの並行トランザクションが実行中で、そのうちの 1 つがロールバックされた場合、準備済みの更新文を使ったときに発生することがあります。
接続の遮断レベルを設定するには、対応する接続プールを同じ遮断レベルで作成します。接続プールの設定の詳細については、『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』を参照してください。
1 つのトランザクションで 3000 を超える PreparedStatement オブジェクトを生成する場合、DB2 では次のエラーが発生する可能性があります。
[sunm][DB2 JDBC Driver] No more available statements. Please recreate your package with a larger dynamicSections value.
次のプロパティーを接続プール定義に追加して、ドライバが DB2 パッケージをより大きな動的セクション値に再バインドするようにします。
createDefaultPackage=true replacePackage=true dynamicSections=1000
接続プールの設定については、『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』を参照してください。
PrepardStatement エラーに関連して、次のエラーメッセージがスローされることがあります。
[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.
DB2 サーバー設定パラメータ APPLHEAPSZ の値を増やします。たとえば、4096 を使用します。
遮断レベル TRANSACTION_SERIALIZABLE。アプリケーションが遮断レベル TRANSACTION_SERIALIZABLE を採用し、前述したパラメータの 1 つを使用している場合、そのアプリケーションは接続を取得するときにハングアップすることがあります。
遮断レベルを接続に対して設定するには、対応する接続プールをその遮断レベルで作成する必要があります。手順については、『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』を参照してください。