Bonjour, dans le cadre d'un travail professionnel, je suis passé sous peu à Talend. Cet ETL est très puissant et convivial mais je n'arrive pas à comprendre le fonctionnement de certains jobs sous Talend Open Studio 3.0 en java.
Lorsque j'utilise tOracleConnection pour éviter de configurer la connexion dans chaque tâches liées à Oracle. Si j'utilise Gess Schema, Gess Query ou que j'appuie sur le bouton édition de la requête, on me demande de saisir absolument tout les paramètres de connection sauf le port pour finir sur un message d'erreur de saisie au sujet de la configuration alors que j'ai tout bien saisi.
Même si j'utilise pas tOracleConnection, si j'utilise tOracleInput ou tOracleOutput et que j'ai rempli correctement le schema en appuyant sur Gess Query ou l'inverse, Talend me dit qu'il ne peut pas se connecter à la Base de Donnée ou que la requête ne peut être gérée par Talend. Or c'est un stupide SELECT X,Y FROM Z. Donc je suis obligé de tout faire à la main et ça fonctionne quand même. Cependant c'est extrêmement long de faire cela pour certaines tables.
Et pour finir la chose la plus énervante. Lorsque je fais une requête SQL dans tOracleInput je ne peux pas mettre dans une clause WHERE une condition numérique du genre:WHERE X=3,je ne peux pas utiliser dans la requête des fonctions de formatage comme TO_DATE, je en peux pas utiliser les fonctions mathématiques comme ABS, et pire je ne peux pas faire des fonctions comme MIN, MAX avec des GROUP BY et des HAVING.
En clair je peux juste faire un basique SELECT. Les éléments/fonctions cités sont écrits en rouge de même que les parenthèses malgré que Talend ne détecte aucune erreur, et réussit à retourner un résultat lorsqu'on appuie sur le bouton Run SQL dans l'éditeur SQL de tOracleInput. On me retourne à chaque fois une erreur oracle:caractère inconu.
Or lorsque je fais ces requêtes sous Toad (outil oracle) les requêtes se lancent parfaitement et me donnent un résultat.
Je sais que la tâche tAggregateRow permet de faire des fonctions de groupe mais dans certains cas cela ne me retourne pas les résultats voulus. Par exemple si je veux récupérer des enregistrement où l'ID est égale à l'ID le plus élevé pour chaque client, cette tâche est inutile.
Ma version d'Oracle est 9.2.0.6, si c'est utile.
Partager