Database Adapter Unable to Insert LONG Value Larger Than 32K. (Doc ID 738267.1)

Last updated on SEPTEMBER 21, 2011

Applies to:

Oracle Applications InterConnect Tool Kit - Version: 10.1.2.0.2 to 10.1.2.3 - Release: AS10gR2 to AS10gR2
Information in this document applies to any platform.
***Checked for relevance on 21-Sep-2011***

Symptoms

When using the database adapter to insert a message longer than 32K into the database, an error message similar to the following is printed by the adapter and the message is not inserted:

<MSG_TEXT>**Error: db_bridge_writer_1 could not write the message to the database because of an application error (java.sql.SQLException: setString can only process strings of less than 32766 chararacters) in the application stored procedure. Please check your stored procedure.
(TEST.DEMO:OAI/V1,OAI/V1,false,0
DATA: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PurchaseOrder>
...
...
</PurchaseOrder>

) was not written to the database.</MSG_TEXT>
<SUPPL_DETAIL><![CDATA[java.sql.SQLException: setString can only process strings of
less than 32766 chararacters
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:4745)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7593)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7545)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8156)
at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4773)
at oracle.oai.agent.adapter.database.DBMessageWriter.addInArguments(DBMessageWriter.java:601)
at oracle.oai.agent.adapter.database.DBMessageWriter.getPushInfo(DBMessageWriter.java:381)
at oracle.oai.agent.adapter.database.DBMessageWriter.pushToDatabase(DBMessageWriter.java:276)
at oracle.oai.agent.adapter.database.DBMessageWriter.messageReceived(DBMessageWriter.java:228)
at oracle.oai.agent.client.SmartQueueDispatcher.run(SmartQueueDispatcher.java:324)
at java.lang.Thread.run(Thread.java:534)

Steps To Reproduce
Use a database adapter to insert a message larger than 32K into the database


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