Bonjour,
J'effectue un chargement d'un fichier avec tos dans une base postgres.
Ce chargement insert d'abord dans une table puis dans une autre.
Les données insérées dans ma deuxième table sont liées aux données insérées dans la première (bref une association toute bête)
Pour ce faire :
1/ j'insère dans ma première table (tPostgresqlOutput)
2/ je recherche l'id de la donnée insérée par un select (tPostgresqlInput)
3/ je jointure l'id a mon flux de données (tMap)
4/ j'insert dans ma deuxième table avec l'id qui va bien.
A notre que je réutilise la même connexion pour les 4 étapes. Ma connexion est en autocommit.
Mon problème et que je n'arrive pas a résoudre l'id en étape 2 car la donnée insérée n'est pas trouvée. Du coup je ne peux insérer dans ma deuxième table.
Par contre si je relance mon job, l'insertion 4 marche a la deuxième itération.
En clair, le sélect ne vois pas l'insert qui viens juste d'être insèré. comme si cela était fait dans des connexions différentes non commitées.
Cette problématique étant Classique, je passe sans doute a coté d'un truc évident. Cela serait sans doute plus simple de récupérer l'id directement a l'insert mais je n'ai pas trouve comment faire cela.
Merci de vos eclairages
Partager