本節介紹已知的附帶的 Sun JDBC驅動程式問題以及相關的解決方案。
如果應用程式在一個作業事件中產生 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 GlassFish Enterprise Server v2.1.1 Administration Guide」。
與上述 PrepardStatement 錯誤相關,可能丟出其他錯誤訊息:
[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.
增大 DB2 伺服器配置參數 APPLHEAPSZ。合適的值為 4096。
隔離層級 TRANSACTION_SERIALIZABLE。如果應用程式使用隔離層級 TRANSACTION_SERIALIZABLE,並使用上述建議的參數之一,則應用程式在取得連線時可能會掛機。
若要為連線設定所需的隔離層級,必須在此隔離層級建立相應的連線區。如需相關說明,請參閱「Sun GlassFish Enterprise Server v2.1.1 Administration Guide」。
隨附的 Java DB 資料庫不會在重新啟動主機系統或 Solaris 區域,或啟動 Enterprise Server 之後自動重新啟動。這不是錯誤,而是所有隨附應用程式或協力廠商應用程式的預期運作方式。問題在於 Java DB 必須在 Enterprise Server 實例之前啟動。
重新啟動主機電腦或 Solaris 區域之後,務必在啟動 Enterprise Server 之前啟動 Java DB,例如︰
/opt/SUNWappserver/appserver/bin/asadmin start-database |
如需有關 asadmin 指令選項的更多資訊,請參閱「Sun GlassFish Enterprise Server v2.1.1 Quick Start Guide」中的「Sun GlassFish Enterprise Server v2.1.1 Quick Start Guide」中的「Administration Tools」。