Database Adapter - Pure SQL Operation Fails with java.sql.SQLSyntaxErrorException: ORA-00911: invalid character (Doc ID 1401048.1)

Last updated on JUNE 10, 2016

Applies to:

Oracle SOA Platform - Version 11.1.1.2.0 and later
Information in this document applies to any platform.

Symptoms

A composite has a database adapter which executes a "Pure SQL" operation.
When the composite is executed the instance is not able to execute the sql query and becomes faulted.

The following error message is generated in the soa_server1-diagnostic.log:

[2012-01-04T14:02:37.802+02:00] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.ws] [tid: orabpel.invoke.pool-3.thread-3] [userId: <anonymous>] [ecid: ] [APP: soa-infra] [composite_name: ] [component_name: ] [component_instance_id: ] [composite_instance_id: ] <WSInvocationManager::invoke> got FabricInvocationException[[
oracle.fabric.common.FabricInvocationException: BINDING.JCA-12563
Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Update_Splitted_FinancialPlanningData' failed due to: Pure SQL Exception.
Pure SQL Execute of UPDATE TABLE SET COLUMN = VALUE; failed.
Caused by java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
.
".
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.

at oracle.integration.platform.blocks.adapter.fw.jca.cci.EndpointInteractionException.getFabricInvocationException(EndpointInteractionException.java:75)
at oracle.integration.platform.blocks.adapter.AdapterReference.getFabricInvocationException(AdapterReference.java:286)
at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:272)
at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:142)
...
Caused by: BINDING.JCA-12563
Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Update_DB_Adapter' failed due to: Pure SQL Exception.
Pure SQL Execute of UPDATE TABLE SET COLUMN = VALUE; failed.
Caused by java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

.
".
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.

at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:432)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:518)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:501)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:479)
...
Caused by: BINDING.JCA-11633
Pure SQL Exception.
Pure SQL Execute of UPDATE TABLE SET COLUMN = VALUE; failed.
Caused by java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
.
The Pure SQL option is for border use cases only and provides simple yet minimal functionality. Possibly try the "Perform an operation on a table" option instead. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-911" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers.

at oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:650)
at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:616)
at oracle.tip.adapter.db.exceptions.DBResourceException.pureSQLException(DBResourceException.java:679)
at oracle.tip.adapter.db.puresql.PureSQLInteraction.executePureSQL(PureSQLInteraction.java:567)
...
Caused by: java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
...
]]

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