org.springframework.jdbc.UncategorizedSQLException: jOOQ; код ошибки [17401]; Нарушение протокола:

Мы используем JOOQ для доступа к базе данных и в последнее время видим следующие сообщения об ошибках в журнале. Может ли кто-нибудь дать мне знать, что это значит? Кстати, мы используем базу данных оракула.

Caused by: org.springframework.jdbc.UncategorizedSQLException: jOOQ; uncategorized SQLException for SQL 
[select "company"."employee"."total" from "company"."employee" where ("company"."employee"."id" = ? and "company"."employee"."name" = ?)]; 
SQL state [99999]; error code [17401]; Protocol violation: [ 125, ]; nested exception is java.sql.SQLException: Protocol violation: [ 125, ]
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.jooq.spring.ExceptionTranslator.exception(ExceptionTranslator.java:73)
    at org.jooq.impl.ExecuteListeners.exception(ExecuteListeners.java:232)
    at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:341)
    at org.jooq.impl.AbstractResultQuery.fetchLazy(AbstractResultQuery.java:357)
Caused by: java.sql.SQLException: Protocol violation: [ 125, ]
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:669)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:58)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:776)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)

person user2482822    schedule 30.04.2015    source источник
comment
Правильное нарушение протокола IIRC обычно означает, что ваш драйвер слишком старый (или слишком новый) для вашего сервера базы данных. Возможно, вы захотите проверить версию драйвера JDBC и проверить совместимость с версией вашего сервера. И это сообщение предполагает, что это также может произойти, если пароль вашего пользователя примерно до истечения срока действия (что звучит странно для меня, но это принятый ответ).   -  person Mark Rotteveel    schedule 30.04.2015
comment
Мы используем ojdbc7 и оракул 11.2.0.3. Как вы думаете, есть ли проблема совместимости между этими двумя?   -  person user2482822    schedule 30.04.2015
comment
Ojdbc7 - это не версия. Это просто означает, что это для Java 7.   -  person Mark Rotteveel    schedule 30.04.2015
comment
Точную версию драйвера можно найти внутри jar-файла: ojdbc7.jar/META-INF/MANIFEST.MF   -  person Lukas Eder    schedule 01.05.2015
comment
@MarkRotteveel: я получаю одно и то же исключение каждый день, но всегда на одной конкретной таблице, все еще думаете, что это может быть связано с несовместимостью драйверов?   -  person Abhishek Singh    schedule 31.08.2016
comment
@AbhishekSingh Я не уверен на 100%, поэтому я разместил комментарий. Однако, если это происходит с определенной таблицей, возможно, вы используете функцию (тип столбца), которая не работает в старых протоколах, или что-то передается способом, который понимают не все версии драйверов. Мой комментарий остается в силе: проверьте версию вашего драйвера и совместимость с версией вашего сервера.   -  person Mark Rotteveel    schedule 31.08.2016
comment
@MarkRotteveel Большое спасибо, это действительно имеет смысл. Я на предложение сейчас.   -  person Abhishek Singh    schedule 01.09.2016