cancel
Showing results for 
Search instead for 
Did you mean: 

Messages are in hold state due to one message at receiver JDBC adapter

Former Member
0 Kudos

Hello,

I am using a receiver JDBC adapter and trying to send an XML file which has an insert query to insert some data into the database i.e., Oracle 9i.

Here at the receiver side due to one message ( which is in to be delivered state) all other messages are got hold and waiting for long time.

I am getting the exceptions as this,

JDBC Adapter processing failed with Error processing request in sax parser: Error when executing statement for table/stored proc. 'FSASMGR.XTBL_KL06_IINQUIRY' (structure 'REC01'): java.sql.SQLException: ORA-12899: value too large for column "FSASMGR"."XTBL_KL06_IINQUIRY"."CASE_TITLE" (actual: 81, maximum: 80)

Exception caught when executing statement for table/stored proc. 'FSASMGR.XTBL_KL01_ISTAFF_MST' (structure 'REC1'):

java.sql.SQLException: ORA-00001: unique constraint (FSASMGR.XTBL_KL01_ISTAFF_MST) violated

Can anyone help me out in solving this issue.

THanks,

Soorya

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi surya,

jdbc channel tries a request for n number of times(no of rettries),if that request fails it will take up the following requests,its not like it will process a request forever.

to be delivered will be resulting if reciever is down or network between XI and database server is bad.

try to ping databse server from XI host system.

if everything is fine then look at the channel configuration->advanced->no of retries of database transaction on sql server.

just redue the count to 1 and recheck.

Regards,

rama Krishna

Former Member
0 Kudos

Hi,

In my config. the value for "no of retries of database transaction on sql error" is zero.

So now what value should I provide now to solve this issue.

Thanks,

Soorya

Answers (5)

Answers (5)

Former Member
0 Kudos

hi surya,

u are going for EOIO sorry i couldnt get u.

ok hope u are using maintain order at runtime in interface determination and in this case if one message is not processed then eventually subsequent once will fail.

just uncheck the maintain order at runtime option and see what is the status for other messages.

if other message too turn in to errors then u need to resolve sql databse errors which u r getting .

Thanks & Regards,

Rama Krishna

Jitendra_Jeswan
Contributor
0 Kudos

As clearly mentioned in the Exception that you pasted.

One of the field in the Oracle table has max size as 80 chars.

However the value exceeds this limit (actual 81)

You can reduce this Length and try resending the Message.

Stuck message will get processed and hence other messaged will get executed eventually.

Regards.

Jeet.

GabrielSagaya
Active Contributor
0 Kudos

since ORA-12899: value too large for column exists

please modify the table structure such that size of CASE_TITLE =90.

since ORA-00001: unique constraint exists,

you cannot insert the same data for rec1(unique)

prateek
Active Contributor
0 Kudos

1. Ur error suggests the data u r trying to insert does not support the characteristic of the column FSASMGR.

2. U r trying to insert same data into table with same primary key. Thats y u must b getting unique constraint exception. Either u have to take care in sending the same data or u have to handle it in BPM by catching the exception. U may also do jdbc lookup to see if the key is present or not.

Regards,

Prateek

Former Member
0 Kudos

Hi,

Check this one How to deal with struck messages

/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework

Regards

Seshagiri