Hi,
An update:
It seems the problem is something else.
In our code, we have defined the length as 4000.
@Basic
@Column(name = "sla_xml", length = 4000)
private String slaXml = null;
However, if this column has more than 1000 characters, it complains with the
below ORA-24816.
With less than 1000 characters, it works.
Also, I see in the oracle schema that the column is mapped as varchar2.
So even though the length is defined as 4000, why does openjpa refuse to accept
more than 1000 characters?
Can anyone help me to figure this out?
Thanks,
Virag
From: Virag Kothari <[email protected]<mailto:[email protected]>>
Date: Friday, June 21, 2013 8:01 PM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: ORA-24816 - column ordering during inserts
Hi,
We are using Open JPA 2.2.2 in Oozie project.
We have a mixture of lob and varchar in our tables. We
recently converted few of lob's to varchar (4000).
Now sometimes, we are seeing the following error while inserting in table:
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ORA-24816:
Expanded non LONG bind data supplied after actual LONG or LOB column
It seems that ORA-24816 happens when lob's are not at the end of the
insert/update list.
2 questions:
1.
Is it possible to arrange the columns in a particular order (order defined in
java file or based on some other order) so we can have all lob's at the end?
2. We never encountered this error before even though we had 6 lobs and
almost dozen of varchars in our table. We converted 3 lobs to varchar2(4000)
and started seeing this issue intermittently. Does anyone suspect that this
conversion from lob to varchar has a role to play?
Thanks,
Virag