Bonjour à tous,

J'ai un soucis au niveau d'un job Talend. Ce job fait appel à une procédure stockée dans SQL Server 2012. Lorsque je lance ce job, il se finit en "SUCCESS". Mais lorsque je lance la procédure directement dans SQL Server, elle me retourne un message d'erreur. Le job aurait dû s’arrêter et me retourner cette erreur...

Pour exemple, j'ai créé une procédure qui insert 2 lignes dans une table. La 1ère insertion est correct et la 2ème est fausse, mauvais format par rapport à la table. Lorsque je lance la procédure dans SQL Server cela me retourne le message suivant :

"(1 row(s) affected)
Msg 8114, Level 16, State 5, Procedure Proc_Test_Insert, Line 7
Error converting data type varchar to numeric."


Dans ce cas, seulement 1 ligne est insérée dans table. En lançant cette même procédure avec le job Talend, il finit en "SUCCESS" et aucune ligne n'est insérée dans la table...

Moi j'aurais aimé que le job s'arrête et me retourne le message d'erreur, chose qu'il ne fait pas.

Dans mon job j'ai un tDie lorsque le composant qui exécute la procédure est en erreur. J'ai également un tLogCatcher. Dans ma procédure, j'ai essayé avec des TRY...CATCH et RAISERROR(). Je ne sais plus quoi tester pour arriver à remonter toutes les erreurs et faire arrêter le job.

Je vous remercie pour votre aide. Je peux vous fournir d'autres éléments si besoin.


PS : AH oui pour info, lorsque j'inverse les 2 insertions dans la procédure, donc en mettant la mauvaise en 1er, le job s'arrête bien et me remonte l'erreur. Bizarre comment Talend capte les messages d'erreurs et s'arrête.