Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Gestion Erreur retournée par un composant tdBOutput (postgres)


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Gestion Erreur retournée par un composant tdBOutput (postgres)
    Bonjour,

    J'ai réalisé un job qui alimente depuis une base DB2 une base de données Postgresql.
    Je travaille table par table. Je passe d'un sous job à l'autre par un runIf avec la condition 0==0
    J'ai géré les erreurs avec un tLogCatcher qui me donne les infos de l'exécution du job et des tWarm et tDie. => OK
    Je gère également les rejets du composant tDBOutput dans un fichier csv. => OK
    Mon problème est que quand on a une erreur de données (clé déjà existante), mon job s'arrête sans passer au sous job suivant, avec l'erreur : "ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc de la transaction"
    Et l’exécution s'arrête !
    Je n'ai pourtant pas cocher "Arrêter en cas d'erreur"

    1- Comment faire pour ne pas arrêter l'exécution du job (et passer au sous job suivant) ?
    2 - Comment commiter les lignes qui sont "bonnes" ?

    Merci pour votre aide.

    Axelle

  2. #2
    Membre éprouvé
    Salut,

    Est-ce que tu as activée l'option "Use batch size" dans les options avancées du tDBOuput?
    Et je me demande pourquoi n'utilises-tu pas le composant tPostgresqlOutput plutôt que le tDBOutput ?

    Pour le séquencement des sous-jobs, tu peux mettre direct un OnSubjobOK plutôt que le lien runIf avec la condition toujours vraie.

    Nico