Bonjour.
J'aimerai faire la chose suivante :
extraire les donnees d'Oracle dont un champ contient la valeur contenue dans une table MySQL. Je fais donc dependre les resultats de l'extraction d'Oracle de la valeur contenue dans la table MySQL.
Ma table A_test_recup_donnees_req_oracle ne contient qu'un seul champ : "Societe"
J'ai essaye avec tFixedFlowInput et tSetGlobalVar associes, le tFixedFlowInput relie d'abord au tSetGlobalVar puis au tOracleInput
J'ai tout d'abord fait les choses suivantes :
- dans le tFixedFlowInput j'ai relie a la table Mysql (shema : referentiel). Puis grace a ctrl plus espace, j'ai choisi dans la liste la valeur suivante :
- dans le champ valeur de tSetGlobalVar j'ai essaye plusieurs choses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Valeur = ((String)globalMap.get("tMysqlOutput_1_QUERY"))
d'abord
Puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2"Societe"
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ((String)globalMap.get("tMysqlOutput_1_QUERY"))
Dans tous les cas, aucune erreur n'est retournee. Par contre, la requete d'extraction des donnees d'Oracle ne retourne rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 "select * from A_test_recup_donnees_req_oracle" --table contenant la valeur d'un des criteres d'extraction des donnees d'Oracle
J'ai aussi essaye en saisissant, dans le champ valeur des tFixedFlowInput et tSetGlobalVar, la chose suivante :
Aucun enregistrement n'est extrait d'Oracle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2"select * from A_test_recup_donnees_req_oracle"
Si, dans le tSetGlobalVar, je saisie "PL002" (qui est une des valeurs possibles a prendre en compte), la requete d'extraction des donnees d'Oracle retourne un certains nombre d'enregistrements.
Dans la requete d'extraction des donnees d'Oracle j'ai mis, dans mon critere, la chose suivante :
A quoi peut etre du mon probleme ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 and gcc.segment1 = '" + ((String)globalMap.get("Societe")) + "'
Faut il s'y prendre autrement, avec d'autres composants ?
J'ai cherche dans l'aide Talend et sur internet. Je n'ai trouve que le rajout d'une valeur en dur dans le champ "Valeur" du tFixedFlowInput.
Merci.
Cdlt
Partager