|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Bonjour,
Je souhaiterai mettre à jour une table "journal" dans ma BDD Oracle avec le nombre de lignes insérées par mon tOracleOutput. J'essaye d'utiliser un tOracleRow avec une requête update, mais je ne sais pas comment passer la variable, voici ma requête ni ne focntionne pas : "update journal set NBR_INSERE= ((Integer)globalMap.get("tOracleOutput_1_NB_LINE_INSERTED")) where FONCTION ='CHARGEMENT' and TRAITEMENT='CATALOGUE_INTERVENTION'" J'ai essayé de mettre : set NBR_INSERE= " & ((Integer)globalMap.get("tOracleOutput_1_NB_LINE_INSERTED")) &" mais cela ne focntionne pas mieux... Peut on utiliser une variable dans une requête SQL? Merci Charlotte |
|
|
00
|
|
|
#2 | |
|
Membre éclairé
![]() |
Bonjour,
Citation:
|
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Bonjour,
Merci, je n'ai plus d'erreur java, mais il ne mets pas à jour ma variable. Pourtant lorsque j'ajoute "nbr_modifie='20'" dans l'update, la variable nbr_modifie se met bien à jour. "update journal set nbr_insere = " + ((Integer)globalMap.get("tOracleOutput_1_NB_LINE_INSERTED")) + " ,nbr_modifie='20' where FONCTION ='CHARGEMENT' and TRAITEMENT='CATALOGUE_INTERVENTION' " La variable ((Integer)globalMap.get("tOracleOutput_1_NB_LINE_INSERTED")) donne 1 normalement dans ma requête. D'ailleurs en même temps je l'inscris dans un t_system et elle affiche bien "1". Dans ma table oracle la variable nbr_insere est en "number", est ce que le (Integer) n'est pas compatible? |
|
|
00
|
|
|
#4 | |||
|
Membre éclairé
![]() |
Citation:
Le problème peut être causé par cela, essayez donc : Code :
|
|||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Bonjour,
J'avais ajouté les cotes tout à l'heure ça ne focntionnait pas, il y avait peut être une autre erreur car là je les ai ajouté et ça tourne. Par contre dans l'update le job s'execute en quelques secondes et avec l'update le job est commencé depuis 5 min et toujours pas fini. Y a-t-il une façon plus rapide de mettre à jour ma colonne ? Je verrai en revenant de manger si l'update est fini, je l'espère! |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Finalement il n'accepte pas les cotes, cela donne une erreur java:
Exception in component tOracleRow_1 java.lang.RuntimeException: Execution failure, there might be an error in your SQL syntax. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
ouf!
après une journée de test ça fonctionne enfin! je n'ai pas rajouté les cotes, j'ai laissé la première requête avec les "+" et je devais juste ne pas le relier. Moi je voulais qu'il se fasse après mon tOracleOutput alors je l'avait relié par un main, mais c'est ça qui l'empêchait de fonctionner. J'ai donc eu l'idée de le laisser tout seul dans son coin et ça fonctionne! merci bouvda |
|
|
00
|
|
|
#8 | |||
|
Membre éclairé
![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
J'ai ajouté une note dans la discussion "Talend et les variables globales" où j'ai vu que tu avais répondu bouvda, j'espère que tu sauras encore m'aider.
Sinon pour le lien "run if" il ne fonctionnait pas hier, je vais réessayer avec toutes les modifs qui ont été réalisées. |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : juin 2006 Messages : 109 ![]() |
Alors il ne me propose pas "run then" mais "run if", "run if ok" et "run if error".
Avec un "run if" il fait une erreur de "token". Mais avec un lien "ruin if ok" entre mon tOracleOutput et mon tOracleRow ça fonctionne très bien. Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com