С более новой версией БД Oracle (12.2.0.1) мы начинаем получать ORA-00932 для кода, который хорошо работает со старым сервером БД.
Более того, водитель сообщает о странной детали исключения:
ORA-00932: несовместимые типы данных: ожидается SYS.AQ $ _JMS_TEXT_MESSAGE
получил SYS.AQ $ _JMS_TEXT_MESSAGE
вы можете видеть, что ожидаемые и полученные имена типов совпадают.
Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-00932: inconsistent datatypes: expected SYS.AQ$_JMS_TEXT_MESSAGE got SYS.AQ$_JMS_TEXT_MESSAGE
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4Caqe.doOAQEQ(T4Caqe.java:355)
at oracle.jdbc.driver.T4CConnection.doEnqueue(T4CConnection.java:3938)
at oracle.jdbc.driver.PhysicalConnection.enqueue(PhysicalConnection.java:10076)
at oracle.jms.AQjmsProducer.jdbcEnqueue(AQjmsProducer.java:1096)
... 13 more
Проблема возникла из автономного Java-приложения, использующего следующие библиотеки драйверов AQ:
aqapi.jar;javax.jms_1.1.4.jar;jta-1.1.jar
Используемая версия драйвера ojdbc:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_30-b03 (Sun Microsystems Inc.)
Implementation-Vendor: Oracle Corporation
Implementation-Title: JDBC
Implementation-Version: 11.2.0.3.0
Repository-Id: JAVAVM_11.2.0.3.0_LINUX_110823
Specification-Vendor: Sun Microsystems Inc.
Specification-Title: JDBC
Specification-Version: 4.0
Main-Class: oracle.jdbc.OracleDriver
sealed: true