本節介紹已知的附帶的 Sun JDBC驅動程式問題以及相關的解決方案。
若要為連線設定所需的隔離層級,必須在相同的隔離層級建立相應的連線區。請參閱「Sun Java System Application Server Enterprise Edition 8.2 管理指南」以取得有關配置連線池的詳細資訊。
如果應用程式在一個作業事件中產生的 PreparedStatement 物件多於 3000 個,則 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,並使用上述建議的參數之一,則應用程式在取得連線時可能會掛機。
若要為連線設定所需的隔離層級,必須在此隔離層級建立相應的連線區。請參閱「Sun Java System Application Server Enterprise Edition 8.2 管理指南」以取得說明。
在使用準備好的陳述更新時,如果有兩個平行作業事件正在執行,並且其中一個被回復,則配合使用 TRANSACTION_SERIALIZABLE 隔離層級與 Sun 隨附之 Sybase Adaptive Server 驅動程式的應用程式可能會掛機。連線轉返失敗,並顯示以下訊息,且轉返的連線無法再被使用︰
java.sql.SQLException:[sunm][Sybase JDBC Driver]Request cannot be submitted due to wire contention
Sybase Adaptive Server 不支援 TRANSACTION_REPEATABLE_READ 隔離層級。然而,查詢 DatabaseMetaData 時,隨附的 Sun 驅動程式會傳回資料庫支援此隔離層級。使用此隔離層級的應用程式將失敗。
使用隨附的 Sun 驅動程式的應用程式無法設定 TRANSACTION_READ_UNCOMMITTED 隔離層級。在初次存取 DataBaseMetaData 時,應用程式會丟出以下異常:
java.sql.SQLException:[sunm][Sybase JDBC Driver][Sybase]The optimizer could not find a unique index which it could use to perform an isolation level 0 scan on table 'sybsystemprocs.dbo.spt_server_info'.
目前尚無解決方案。
當使用 SUN JDBC Oracle 資料來源 (com.sun.sql.jdbcx.oracle.OracleDataSource) 時,在 JDBC 連線池上設定以下特性:
<property name="serverType" value="dedicated"/>
該特性的值取決於配置 Oracle 伺服器偵聽程式的方式。如果在「共用」模式中配置該偵聽程式,則上述值需變更為「dedicated」。
從 JDBC 10.2 驅動程式開始,在 CLASSPATH 中有多個 JDBC jar 檔案可能會導致 java.lang.SecurityException: Sealing violation exception。
以下 Oracle 文件 ID 記載了 Oracle 的詳細說明:
注意:405446.1 主旨:JDBC 驅動程式 10.2 使用封簽的 JAR 檔案,可能導致 SecurityException 封簽違規
(Oracle 的建議) 請確定 CLASSPATH 僅包含一個 JDBC 驅動程式 JAR 檔案。