We get an exception while making this call from our backend to the database:

select f.*
from T t
inner join CATEGORY Category
on Category.ID1 = t.ID1
where Category.ID2 = ? and t.ID3 = ? and Category.ID3 = ? and JSON_TEXTCONTAINS(t.TAB, '$', ?)

The exception does not occur we making the query with sql developer.

java.sql.SQLRecoverableException: No more data to read from socket
at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:119)
at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:59)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:747)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
... (the whole exception is around 200 lines)

We have two systems that run the same code (springboot app, ojdbc and Database version ( But they run on different infrastructure.

We suspect its related to the JSON_TEXTCONTAINS because we don't get any errors with other queries. The error is reproducable evertime the above query is made.

However we cant reproduce the error on the second testsystem, there the query executes fine with expected results.
Do you know of any database related configuration, that may cause this error?
Are there any other differences we could think of?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.