Hi,

Can anyone please reply?

In summary, two questions

Having (@length=4000) is not working when using Oracle db. I see the schema 
maps to varchar2(4000) but the openjpa insert accepts max 1000 chars (throws 
ORA-24816 which is strange). It is not an Oracle issue as I tried inserting in 
Oracle directly and anything less than 4000 chars works. Can someone explain 
why openjpa allows only 1000 chars even if the length is set higher?

Is it possible to arrange the columns in a particular order (order defined in 
java file or based on some other order) so all lob's can be at the end? We 
require this if we face ORA-24816

Thanks,

Virag




From: Virag Kothari <vi...@yahoo-inc.com<mailto:vi...@yahoo-inc.com>>
Date: Monday, June 24, 2013 1:35 PM
To: "users@openjpa.apache.org<mailto:users@openjpa.apache.org>" 
<users@openjpa.apache.org<mailto:users@openjpa.apache.org>>
Subject: Re: ORA-24816 - column ordering during inserts

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 <vi...@yahoo-inc.com<mailto:vi...@yahoo-inc.com>>
Date: Friday, June 21, 2013 8:01 PM
To: "users@openjpa.apache.org<mailto:users@openjpa.apache.org>" 
<users@openjpa.apache.org<mailto:users@openjpa.apache.org>>
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









Reply via email to