IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Update sur une table ne marche pas


Sujet :

Développement de jobs

  1. #1
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut Update sur une table ne marche pas
    Bonjour,

    j'ai un problème avec un JOB Talend, le schéma du job et comme suivant :

    OracleInput1 ----(main)----->
    tMAP ----> OracleOutput
    OracleInput2 ----(lookUp)--->

    En fait je fait une jointure entre les deux tables, pour récupérer une seule et unique ligne, cette ligne a une colonne qui s'appelle FLAG avec la valuer '0', et j'ai la même ligne sur la table destination mais avec le FLAG=null,
    je veux faire un update pour modifier la valeur du champs FLAG sur la table destination de "NULL" à "0" ,
    Le JOB marche, mais il n y' a aucun changement au niveau de la table destination !!!

    Est ce que vous avez une idée pourquoi ça ne marche pas ?
    Sinon est ce que vous avez d'autres idées pour réaliser ça ?

    Merci beaucoup.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 247
    Points : 277
    Points
    277
    Par défaut
    Bonjour,

    A moins que je n'ai pas compris ton explication, si tu as fait ton job comme tu le décris, il n'y a pas de raison que cela ne fonctionne pas...

    Tu as essayé de prendre la requête générée dans ton OracleOutPut, et de la passer directement sur ta BDD via Toad ou SQL developper ou SQL+ ?

    Deuxième piste, est-ce que tu as bien vérifié tes ID pour faire ton update ?

    Si ça ne fonctionne toujours pas, fait une capture d'écran et poste là pour qu'on puisse regarder plus en détail ce que tu aurais pu rater.

    Bonne continuation.
    a+

  3. #3
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour,
    Tout d'abord merci beaucoup pour ta réponse,

    Bon j'ai essayé plusieurs trucs jusqu'à ce que ça marche, à vrai dire je n'avais pas bien compris le comportement du tOracleOutput, donc j'ai fini par utiliser un tOracleRow et apprement ça marche.

    Mais maintenant je suis face à un autre problème,
    dans la requête de mon tOracleRow je veux mettre un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE matable 
    SET macolonne = XXX
    WHERE id = YYY
    En sachant que le XXX et le YYY je veux les récuperer de mon flux d'entrée ( qui est un tFlowToIterate ) comment faire ;

    j'ai trouvé un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE matable 
    SET macolonne = '$tOracleRow_1[0]'
    WHERE id = '$tOracleRow_1[1]'
    mais ça ne marche pas !!!! des idées ????
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 247
    Points : 277
    Points
    277
    Par défaut
    Sauf erreur de ma part, tu ne peux pas récupérer les valeurs des champs provenant d'un tFlowToIterate.

    Il va donc falloir que tu utilises en tIterateToFlow, pour revenir à un flux normal, et donc identifier tes champs.

    A moins que tu puisses te passer du tFlowToIterate...!?

  5. #5
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Si je laisse tomber mon tFlowToIterate comment faire pour récupérer les valeurs en entrée dans mon tOracleRow et les utiliser dans ma requête update , bref par quoi je remplace les ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE matable 
    SET macolonne = ???
    WHERE id = ???
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  6. #6
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Bon je viens de trouver, c'était plutôt évident mais fallait y penser,

    si on suppose que l'entrée de notre tOracleRow à le nom "row4" alors on doit mettre dans la requête ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE matable 
    SET macolonne = row4.macolonne 
    WHERE id = row4.id
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 247
    Points : 277
    Points
    277
    Par défaut
    C'est bon, tu as tout compris !

    Bonne continuation à toi.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Requête UPDATE sur une table sans relation
    Par SIGER_971 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/07/2009, 09h02
  2. [SQL] update sur une table de la relation
    Par comme de bien entendu dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/01/2009, 14h24
  3. Update sur une Table Oracle
    Par faressam dans le forum VBScript
    Réponses: 3
    Dernier message: 18/09/2008, 10h01
  4. UPDATE sur une table (mot réservé)
    Par calp25 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/04/2008, 22h33
  5. Réponses: 1
    Dernier message: 08/11/2006, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo