My Oracle Support Banner

Cannot Use External Connection Pooling After Upgrading To OC4J (Doc ID 1328264.1)

Last updated on MARCH 20, 2019

Applies to:

Oracle TopLink - Version and later
Information in this document applies to any platform.


A J2EE application previously installed on OC4J is deployed into OC4J .
Using 10.13.5 Toplink, this application is configured to use the External Connection Pools in Toplink.

With external connection pool configuration, the following exception occurs
randomly when executing a SQL statement via Toplink :

1. if the JDBC connection is retrieved from a native datasource :

Caused by: java.sql.SQLException: Attempt to use a closed handle : 'oracle_jdbc_driver_LogicalConnection_Proxy@46d208'.
at oracle.oc4j.sql.spi.ConnectionHandle.oc4j_intercept(
at oracle.oc4j.sql.proxy.SQLBCELProxy.oc4j_intercept(
at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.setNull(]

2.  if the the JDBC connection is retrieved from an OC4J  managed datasource :

Caused by: java.sql.SQLException: SQL wrapper has been closed!
at oracle.oc4j.sql.proxy.SQLBCELProxy.oc4j_intercept(
at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.setObject(
at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall(
at oracle.toplink.oraclespecific.Oracle9Platform.setParameterValueInDatabaseCall(
at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall(

Those exceptions indicate that though a statement has been closed,  Toplink is executing this  statement.




To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.