Java ORA-00932:不一致的数据类型:预期的SYS.AQ$\u JMS\u TEXT\u消息已获取SYS.AQ$\u JMS\u TEXT\u消息

Java ORA-00932:不一致的数据类型:预期的SYS.AQ$\u JMS\u TEXT\u消息已获取SYS.AQ$\u JMS\u TEXT\u消息,java,jms,ojdbc,oracle-aq,Java,Jms,Ojdbc,Oracle Aq,对于较新版本的Oracle DB(12.2.0.1),我们开始收到ORA-00932,因为该代码与较旧的DB服务器配合良好。 此外,驱动程序报告异常的奇怪细节: ORA-00932:不一致的数据类型:应为SYS.AQ$\u JMS\u TEXT\u消息 获取SYS.AQ$\u JMS\u TEXT\u消息 您可以看到预期的类型名和获取的类型名是相同的 Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive

对于较新版本的Oracle DB(12.2.0.1),我们开始收到ORA-00932,因为该代码与较旧的DB服务器配合良好。 此外,驱动程序报告异常的奇怪细节:

ORA-00932:不一致的数据类型:应为SYS.AQ$\u JMS\u TEXT\u消息 获取SYS.AQ$\u JMS\u TEXT\u消息

您可以看到预期的类型名和获取的类型名是相同的

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
使用以下AQ驱动程序库从独立Java应用程序引发问题:

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

当我们开始使用与Oracle DB server相同的jdbc驱动程序版本时:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Implementation-Title: JDBC
Implementation-Version: 12.2.0.1.0
sealed: true
Repository-Id: JAVAVM_12.2.0.1.0_LINUX.X64_161213
Specification-Vendor: Sun Microsystems Inc.
Specification-Title: JDBC
Created-By: 25.91-b14 (Oracle Corporation)
Specification-Version: 4.0
Implementation-Vendor: Oracle Corporation
Main-Class: oracle.jdbc.OracleDriver

AQJMS驱动程序开始运行良好。我找不到任何Oracle文档说明,11.2 jdbc驱动程序与12.2 ORA DB server不兼容,甚至不适用于AQ JMS实现(aqapi.jar)。

在ORA支持上指定了相同的问题类型:但没有答案或非公开部分,没有关于Oracle JMS AQ驱动程序的详细信息