Sunday, July 05, 2015

java.sql.BatchUpdateException: String or binary data would be truncated


I was trying to insert data in to MS SQL server table using db adapter in Oracle SOA Suite and my process was giving this error.


Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception. insert failed. Descriptor name: [MS.Errors]. Caused by java.sql.BatchUpdateException: String or binary data would be truncated.. Please see the logs for the full DBAdapter logging output prior to this exception. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-8152" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. ". The invoked JCA adapter raised a resource exception. Please examine the above error message


The reason for this error is data issue. I checked the data i was passing to insert into the MS SQL table and then i compared it with the actual XML schema that get generated by default for the db adapter and i found that one of the field was having a restiction on length as 10 digit however in my actual payload i was sending a 17 digit number.

After fixing the payload my process ran fine.

No comments: