I have 2 problems with the tsalesforceoutput component (talend 6.2) :
1. II've set my commit level to 10
Each time I encounter a specificl kind of error, I have incorrect data returned in my reject flow (the data fields are not the data that causes the error)
The error is : "duplicate value found: unknown duplique une valeur dans l'enregistrement ID : ..."
When I get this error message the detail of the datas which should normally cause the error is not the good one
(I think it return the first line of the 10 rows that were upserted when the error occurs)
If I set the commit level to 1 : everything is correct (but the upsert take a lot more time to finish )
2. The second problem is that if I have a commit level of 10, my reject flow will have each error message repeted 10 times (I try also with 100 ... and I get 100 similiar lines of reject for each error (I solve this by adding a taggregaterow)
For the first point do you have a solution other then setting the commit level to 1?
When you set commit Level to 10, and get an error, are the 10 rows that are part of that batch rollbacked? Or the successful rows committed?
Generally with other database components, the whole batch will fail.
Thank you for your reply.
I didn't check that point, I will have to check next week.
Actually the goal of my post is the identification of the rejected line that cause the error but your remarks is to be checked also !
Also make sure you are using compatible oracle drivers that works with the Java version you have.
It works as the upsert is correctly done in salesforce (except for the rejects that I want to be able to identify to correct the data in the source application)
(the component don't send data in an oracle database, it write in salesforce.com throught a webservice)
You're not the only one! please Vote up these bugs: