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 :

Créer une requete pour récupérer un identifiant qu'on utilise dans un Tmap


Sujet :

Développement de jobs

  1. #1
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut Créer une requete pour récupérer un identifiant qu'on utilise dans un Tmap
    Bonjour,

    J'utilise un TMAP afin de formater mes données avant de les insérer dans des base de données multiples en OUTPUT. Cependant à un moment, je dois créer un INSERT dans une BDD, mais j'ai besoin d'un identifiant que je dois récupérer dans une autre table.

    Exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT monID FROM matable WHERE mesparam = 'param'
    Et je veux que le résultat de cette requête "rentre dans mon TMAP" afin d'alimenter le champs "adress_id" qui est en encadré en rouge sur la pièce jointe

    Comment faire cela ?

    J'espère que j'ai été claire sinon n'hésitez pas à me le dire

    merci
    Images attachées Images attachées  

  2. #2
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    avec une requete en lookup du tmap.

    Il y a des tutos pour ça
    http://www.talendforge.org/tutorials...lish&idTuto=16

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Si tes deux tables sont dans la même base, tu gagnerais en efficacité à tout remonter de ta base en même temps dans ton composant t...Input, via une requête SELECT que tu écris toi-même, interrogeant les deux tables simultanément.

    De cette manière, tu as tes données, ID inclu, dans le même flux.

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Oki merci,

    j'ai réussi en utilisant un composant requête et j'ai écris ma requête en brut.

    Par contre, je voudrais maintenant faire un update (en utilisant un autre composant requête en brut) seulement si l'INSERT dans la BDD a bien été effectué.

    Pour cela j'utilise un tDBSQLRow comme sur le schéma en pièce jointe avec une déclencheur "onComponantOk". Pourtant même si l'INSERT plante, la mise à jour se fait... Bizarre non ? Peut être je n'ai pas utilisé le bon événement ?
    Images attachées Images attachées  

  5. #5
    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,

    Le comportement de Talend est tout à fait normal. En fait, le "OnComponentOK" ne détecte que les crash du composant. Or, dans ton cas, tout s'est bien passé, c'est juste ta requête qui n'a pas donné le résultat escompté.

    Change ton "OnComponentOK" par un lien "If". Avec ce dernier, tu peux récupérer le retour de ton composant SQL et donc savoir si la requête c'est terminée avec succès ou non.

    A+

Discussions similaires

  1. [AC-2003] créer une requete pour réaliser un graphique
    Par nola38 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 26/02/2014, 14h38
  2. [SQL] créer une requete pour une recherche
    Par boubourse92 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/01/2008, 13h25
  3. Besoin d'aide avec une requete pour récupérer des hyperliens
    Par scaleo dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 21/12/2007, 12h56
  4. [VB6]créer une requete pour chercher une partie d'un mot
    Par aibar dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/06/2006, 21h38
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

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