ここでは、Sun の JDBC ドライバに関する既知の問題とその解決方法を示します。
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
前述の PrepardStatement エラーに関連して、次のエラーメッセージがスローされることがあります。
[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.
DB2 サーバー設定パラメータ APPLHEAPSZ の値を増やします。適度な値は 4096 です。
遮断レベル TRANSACTION_SERIALIZABLE。アプリケーションが遮断レベル TRANSACTION_SERIALIZABLE を採用し、前述したパラメータの 1 つを使用している場合、そのアプリケーションは接続を取得するときにハングアップすることがあります。
希望の遮断レベルを接続に対して設定するには、対応する接続プールをその遮断レベルで作成する必要があります。
ホストシステムまたは Solaris ゾーンのリブート後、または Communications Server 起動後に、付属の Java DB データベースが自動的に再起動しません。これはバグではなく、付属または他社製のアプリケーションで所定の動作です。問題は、Communications Server インスタンスの前に Java DB を起動する必要があるということです。
ホストマシンまたは Solaris ゾーンのリブート後、必ず Communications Server が開始する前に Java DB が起動するようにしてください。一例として、次のようにします。
/opt/SUNWappserver/appserver/bin/asadmin start-database |