Sun Java System Application Server Enterprise Edition 8.1 2005Q2 版本說明

隨附的 Sun JDBC 驅動程式

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

錯誤 ID 

摘要 

6165970 

在使用準備好的陳述更新時,如果有兩個平行作業事件正在執行,並且其中一個被回復,則配合使用 TRANSACTION_SERIALIZABLE 隔離層級與 Sun 隨附的 Microsoft SQL Server 驅動程式的應用程式可能會掛機。

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

解決方案

此時為 None。 

6170432 

PreparedStatement 錯誤。

說明 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

請參閱「管理指南」,以取得有關配置連線池的詳細資訊。

說明 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

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

6189199 

使用附帶的 Sun 驅動程式設定隔離層級的問題 (針對 Sybase Adaptive Server)。 

  • 在使用準備好的陳述更新時,如果有兩個平行作業事件正在執行,並且其中一個被回復,則配合使用 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'.

解決方案

此時為 None。 

6247468 

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

解決方案

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

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

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

6554602 

從 JDBC 10.2 驅動程式開始,在 CLASSPATH 中有多個 JDBC jar 檔案可能會導致 java.lang.SecurityException: Sealing violation exception

以下 Oracle 文件 ID 記載了 Oracle 的詳細說明: 

備註:405446
主旨:JDBC Driver 10.2 Uses Sealed JAR files and May Cause Security
Exception Sealing Violation

解決方案

(Oracle 的建議) 請確定 CLASSPATH 僅包含一個 JDBC 驅動程式 JAR 檔案。