After One Statement Fails With ORA-17034, Previous Valid Statement Fails as Well
(Doc ID 2460947.1)
Last updated on OCTOBER 17, 2022
Applies to:
JDBC - Version 11.2.0.1.0 and laterInformation in this document applies to any platform.
Symptoms
Given 2 or more prepared statements, and the following sequence of events:
* Prepared statement 1 executes a valid query
* Prepared statement 2 fails with ORA-17034 (Non supported SQL92 token at position X)
... then after that point, attempts to use prepared statement 1 again will result in a variety of errors.
Example 1:
* Prepared statement 1 is created
* Prepared statement 1 runs a query successfully
* Prepared statement 2 is created
* Prepared statement 2 runs a query that fails with ORA-17034
* Prepared statement 2 is closed
* Prepared statement 1 is rerun, and fails with ORA-1001 (invalid cursor)
* Prepared statement 1 is created
* Prepared statement 1 runs a query successfully
* Prepared statement 2 is created
* Prepared statement 2 runs a query that fails with ORA-17034
* Prepared statement 2 is closed
* Prepared statement 1 is rerun, and fails with ORA-1001 (invalid cursor)
Example 2:
* Prepared statement 1 is created with bind variables
* Prepared statement 1 runs a query successfully
* Prepared statement 2 is created
* Prepared statement 2 runs a query that fails with ORA-17034
* Prepared statement 2 is closed
* Prepared statement 3 is created (without bind variables)
* Prepared statement 3 runs a query successfully
* Prepared statement 1 rerun, and fails with "No more data to read from socket"
* If using a 12.1.0.2 database, the alert log shows the error ORA-03137: TTC protocol internal error : [12333] [7] [1] [50] [] [] [] []
* If using a 12.2.0.1 database, the alert log shows the error ORA-03137: malformed TTC packet from client rejected: [12333] [7] [1] [50] [] [] [] []
* Prepared statement 1 is created with bind variables
* Prepared statement 1 runs a query successfully
* Prepared statement 2 is created
* Prepared statement 2 runs a query that fails with ORA-17034
* Prepared statement 2 is closed
* Prepared statement 3 is created (without bind variables)
* Prepared statement 3 runs a query successfully
* Prepared statement 1 rerun, and fails with "No more data to read from socket"
* If using a 12.1.0.2 database, the alert log shows the error ORA-03137: TTC protocol internal error : [12333] [7] [1] [50] [] [] [] []
* If using a 12.2.0.1 database, the alert log shows the error ORA-03137: malformed TTC packet from client rejected: [12333] [7] [1] [50] [] [] [] []
This can cause a variety of problems in a real-world environment when using cached or reused statements.
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 |
References |