My Oracle Support Banner

java.sql.SQLException: Missing defines Error When Reusing a Prepared Statement with JDBC Driver 12.1.0.1 (Doc ID 2078912.1)

Last updated on MAY 25, 2023

Applies to:

JDBC - Version 12.1.0.1.0 to 12.1.0.1.0 [Release 12.1]
Information in this document applies to any platform.

Symptoms

When using the 12.1.0.1 JDBC driver, reuse of a prepared statement (without any Oracle implicit or explicit caching mechanism) results in the following error:

java.sql.SQLException: Missing defines
at oracle.jdbc.driver.OracleStatement.checkAccessorsUsable(OracleStatement.java:844)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:882)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3867)
at oracle.jdbc.driver.OraclePreparedStatementWr apper.executeQuery(OraclePreparedStatementWrapper.java:1502)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:549)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:2600)

 

Example code for reproducing the problem is as follows :

 

Changes

 

Cause

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
Symptoms
Changes
Cause
Solution


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