Auto-Generated WLS Entity Bean Code Fails With "Stream Has Already Closed" When Using LONG RAW

(Doc ID 1293822.1)

Last updated on SEPTEMBER 01, 2014

Applies to:

JDBC - Version 10.2.0.4 and later
Information in this document applies to any platform.

Symptoms

A EJB-CMP based JDBC application intermittently throws the following exception when accessing LONG RAW columns in the database:

getConnection returning driver[className=weblogic.jdbc.jts.Driver,weblogic.jdbc.jts.Driver@11803fb]
SQLException: SQLState(null) vendor code(17027)
java.sql.SQLException: Stream has already been closed
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.LongRawAccessor.getBytes(LongRawAccessor.java:155)
at oracle.jdbc.driver.OracleResultSetImpl.getBytes(OracleResultSetImpl.java:708)
at weblogic.jdbc.wrapper.ResultSet.getBytes(ResultSet.java:344)
:::::::::::::
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)


Changes

The database and JDBC driver were recently upgraded from 9iR2 to 10.2.0.4.0

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms