Inserted value too large for column Error on Enqueue of Message into a Database using a Multi-Byte Characterset (Doc ID 333051.1)

Last updated on OCTOBER 22, 2010

Applies to:

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.1.0.5 - Release: 10.1 to 10.1
Information in this document applies to any platform.

Symptoms

Enqueue of a JMS_TEXT_MESSAGE fails when enqueuing messages via the OJMS API which are greater than VARCHAR2(2000) and less than or equal to VARCHAR2(4000) into a database using a multi-byte characterset.

The following error is reported

oracle.jms.AQjmsException: Inserted value too large for column: "??....

        at oracle.jms.AQjmsProducer.enqueue(AQjmsProducer.java:1173)
        at oracle.jms.AQjmsProducer.publish(AQjmsProducer.java:1400)
        at oracle.jms.AQjmsProducer.publish(AQjmsProducer.java:1437)
        at JmsTester.test(JmsTester.java:51)
        at JmsTester.main(JmsTester.java:9)

Alternatively the problem may manifest itself as a message which is successfully dequeued by a Message Driver Bean (MDB) running in OC4J 10.1.3.x or an OJMS client application but has a NULL payload.

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