Sun Java System Application Server Enterprise Edition 8.2 版本說明

隨附的 Sun JDBC 驅動程式

本節介紹已知的附帶的 Sun JDBC驅動程式問題以及相關的解決方案。

使用就緒 Statement 更新時,如果有兩個並列作業事件正在執行,並且其中一個被回復,則搭配 Sun 隨附的 Microsoft SQL Server 驅動程式使用 TRANSACTION_SERIALIZABLE 隔離層級的應用程式可能會當機。(ID 6165970)

若要為連線設定所需的隔離層級,必須在相同的隔離層級建立相應的連線區。請參閱「Sun Java System Application Server Enterprise Edition 8.2 管理指南」以取得有關配置連線池的詳細資訊。

PreparedStatement 錯誤。(ID 6170432)

描述 1

如果應用程式在一個作業事件中產生的 PreparedStatement 物件多於 3000 個,則 DB2 可能發生以下錯誤:

[sunm][DB2 JDBC Driver] No more available statements.Please recreate your package with a larger dynamicSections value.

解決方法 1

將以下特性增加到連線區定義中,以使用更大的動態區段值來使驅動程式重新連結 DB2 封裝︰

createDefaultPackage=true replacePackage=true dynamicSections=1000

請參閱「Sun Java System Application Server Enterprise Edition 8.2 管理指南」以取得有關配置連線池的詳細資訊。

描述 2

與上述 PrepardStatement 錯誤相關,可能丟出其他錯誤訊息:

[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.

解決方法 2

增大 DB2 伺服器配置參數 APPLHEAPSZ。合適的值為 4096

描述 3

隔離層級 TRANSACTION_SERIALIZABLE。如果應用程式使用隔離層級 TRANSACTION_SERIALIZABLE,並使用上述建議的參數之一,則應用程式在取得連線時可能會掛機。

解決方法 3

若要為連線設定所需的隔離層級,必須在此隔離層級建立相應的連線區。請參閱「Sun Java System Application Server Enterprise Edition 8.2 管理指南」以取得說明。

使用 Sun 隨附的 Sybase Adaptive Server 驅動程式設定隔離層級時會發生問題。(ID 6189199)

說明

解決方案

目前尚無解決方案。

在 Solaris 10 和 Enterprise Linux 3.0 上,Sun 隨附的 Oracle JDBC 驅動程式不允許建立連線。(ID 6247468)

當使用 SUN JDBC Oracle 資料來源 (com.sun.sql.jdbcx.oracle.OracleDataSource) 時,在 JDBC 連線池上設定以下特性:

<property name="serverType" value="dedicated"/>

該特性的值取決於配置 Oracle 伺服器偵聽程式的方式。如果在「共用」模式中配置該偵聽程式,則上述值需變更為「dedicated」。

java.lang.SecurityException:封簽違規異常 (ID 6554602)

說明

從 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 檔案。