Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/03/2011, 14h21   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Récupérer le résultat d'une requete Sql posé à ORACLE

Bonjour

Je suis crée un job ou je dois demander à Oracle numero de sequence qui est enregistré dans la base qui permet de s'incrémenter automatiquement.

Puis je dois utiliser lé resulat de la requence qui est une séquence pour l'enregistrer de nouveau dans une autre table.

J'ai mis TOracleInput (j'ai mis requete pour récuperer la sequence)--> TJavaRow et j'ai mis (String)globalMap.get("tOracleInput_1_QUERY");--->

Aprés je n'ariive pas à recupérer le resulat de la requete.

Sinon y a t il un moyen d'interoger juste une seule fois la base de donnée Oracle et lui donné la requete autant qu'un element à enregoistrer dans un tel champs??

SVP avez vous une idée??? Au moins comment recupérer le resulat de la requete, c'est pas grave si j'interooge deux fois la base Oracle pour le moement


Merci beaucoupp

c'est trés urgent SVP
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 14h44   #2
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
Si le but est que ta séquence incrémente un ID lors de l'enregistrement dans une base cible, alors, la séquence doit apparaître dans la base cible et non dans la source. Le problème avec le fonctionnement que tu décris est que tu es forcée de faire une requête pour connaître la valeur nextVal de ta séquence pour chacune des lignes à insérer dans ta cible.

Il vaudrait probablement mieux :
> Créer la séquence dans la base cible
> Lire ta source
> Lors de l'insertion des enregistrements dans la cible, affecter la valeur de sequence.nextval via le connecteur cible (ex. via la propriété colonne additionnelle si tu utilises un tOracleOuput)
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 15h31   #3
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Bonjour,

Pour gérer cette problématique en général j'utilise juste un lookup qui retourne le résultat de la requête suivante :
Code :
SELECT masequence.NEXTVAL FROM dual
Ensuite on peut faire ce qu'on veut de la valeur récupérée.

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 15h43   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut re

Tout d'abord je te remercie de m'avoir répondu

En fait je dois pas comment je fais un lookup, j'ai le composant ToracleInput -aprés je dois le relier avec quel composant ??

Comment j'utilise le lookup STP


Merci beaucouuuuup
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 09h38   #5
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Pour utiliser un tOracleInput en lookup, il faut le relier à un tMap qui possède déjà un flux principal en entrée.

Tu paramètre ensuite le fonctionnement du lookup à l'intérieur du tMap.

Voici un lien vers un tutoriel Talend qui présente cette fonctionnalité :
http://www.talendforge.org/tutorials...l.php?idTuto=6

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 09h51   #6
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Re

Oui merci beaucoup,

ça marche c'est vraiment ça ce que je cherche
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 19h45   #7
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Alors c'est le moment de passer ce thread en "Résolu"
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web