Error ORA-00942 when Enqueuing JMS Message (with LOB payload type) via JDBC driver (Doc ID 1328208.1)

Last updated on AUGUST 16, 2016

Applies to:

JDBC - Version: 11.2.0.2 and later   [Release: 11.2 and later ]
Information in this document applies to any platform.

Symptoms

When enqueing a JMS message (with a LOB payload)  into 11.2.0.2 database queues (AQ), the following message exception occurs :

java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:221)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:137)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:257)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:468)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:418)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1090)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:196)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1230)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:


This exception happens when the following statement is being executed :
UPDATE GSADMIN.QUEUETABLEGS tab set tab.user_data.text_lob = ? where tab.msgid = ?

This problem does not happen when  the  JDBC connection used  (for sending the JMS message) is established under the schema (GSADMIN), owner of the database queues.
The exception  happens when the JDBC connection is established under another schema (GSJMS) which does not own the database queues (AQ).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms