Sun Java System Application Server Enterprise Edition 8.2 Standalone Installer Release Notes

Bundled Sun JDBC Drivers

This section describes known bundled Sun JDBC driver issues and associated solutions.

Bug ID 

Summary 

6165970 

Applications using the TRANSACTION_SERIALIZABLE isolation level with the bundled Sun driver for Microsoft SQL Server may hang when using a prepared statement to update if two parallel transactions are running and one of them is rolled back.

To set a desired isolation level for a connection, the corresponding connection pool must be created at that same isolation level. See the Administration Guide for details about configuring connection pools. 

Solution

None at this time. 

6170432 

PreparedStatement Errors.

Description #1

If an application generates more than 3000 PreparedStatement objects in one transaction, the following error may occur with DB2:

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

Solution #1

Add following properties to the connection pool definition to get the driver to rebind DB2 packages with a larger dynamic sections value:  

createDefaultPackage=true replacePackage=true dynamicSections=1000

See the Administration Guide for details about configuring connection pools.

Description #2

Related to the PrepardStatement error above, another error message that may be thrown is:

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

Solution #2

Increase the DB2 server configuration parameter APPLHEAPSZ. A good value is 4096.

Description #3

Isolation level TRANSACTION_SERIALIZABLE. If your application uses isolation level TRANSACTION_SERIALIZABLE and uses one of the parameters suggested above, it might hang while obtaining a connection.

Solution #3

To set desired isolation level for a connection, the corresponding connection pool has to be created at that isolation level. See the Administration Guide for instructions.

6189199 

Problems setting isolation level with the bundled Sun driver for Sybase Adaptive Server. 

  • Applications using the TRANSACTION_SERIALIZABLE isolation level with the bundled Sun driver for Sybase Adaptive Server may hang when using a prepared statement to update if two parallel transactions are running and one of them is rolled back. Connection rollback fails with following message, and the rolled back connections cannot be used anymore:

    java.sql.SQLException: [sunm][Sybase JDBC Driver]Request cannot be submitted due to wire contention

  • Sybase Adaptive Server does not support the TRANSACTION_REPEATABLE_READ isolation level. However, querying DatabaseMetaData, the bundled Sun driver returns that this isolation level is supported by the database. Applications using the this isolation level will fail.

  • Applications using the bundled Sun driver cannot set the TRANSACTION_READ_UNCOMMITTED isolation level. The application throws the following exception on the first DataBaseMetaData access:

    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'.

Solution

None at this time. 

6247468 

On Solaris 10 and Enterprise Linux 3.0, the Sun bundled Oracle JDBC driver does not allow the creation of a connection. 

Solution

Set the following property on the JDBC connection pool when using the SUN JDBC oracle datasource (com.sun.sql.jdbcx.oracle.OracleDataSource):

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

The value of the property depends upon the way the Oracle server's listener is configured. If it is configured in the "shared" mode, the above value needs to change to "dedicated".