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 :

Texte des requetes sql en variable de contexte


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 40
    Points
    40
    Par défaut Texte des requetes sql en variable de contexte
    Bonjour a tous,

    Ce message pour avoir votre avis sur les requetes externalisées.

    Dans talend il est possible d'utiliser une variable de contexte pour stocker le texte d'une requete sql dans un fichier de parametres.
    Cette variable de contexte peut etre utilisée par exemple dans le champ "requete" d'un toracleinput, qui l'executera alors sur la base ciblée.

    Cela a comme avantage de ne pas avoir à modifier, recompiler et redeployer le job en cas d'ajout/modification du filtre where de la requete par exemple.
    Ces operations doivent etre faites par contre si le select change, pour mettre a jour le shema du tbasededonnéeinput.

    Est-ce que selon vous c'est une bonne pratique que de parametrer ainsi les requetes dans un fichier ?
    L'inconvenient peut etre, est que toute personne qui a acces au fichier, peut lire les requetes jouées dans le job, voire meme les modifier, sans qu'on en ait trace.
    Qu'en pensez vous ? Bonne pratique ou pas ?

    Version utilisée: Talend TEDI 7.2.1

    Merci par avance pour vos retours

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Avantage :
    _ Pas besoin de rebuilder ton job si tu modifie la requête

    Désavantage :
    _ La requête ne peut pas être dynamique
    _ Quelqu'un qui ajoute une colonne dans la requête qui n'est pas dans ton schema pourrais te dire "J'ai ajouté la description dans la requête SQL mais je ne la vois pas dans le CSV"





    ______

    Pour répondre à ton question ça dépends de ton usage.
    Par expérience, j'ai déjà utilisé le context pour définir uniquement la clause "where" pour ne pas exporter toute une base base pour générer des fichiers de test, et cela évite de fait de ne pas avoir le deuxième désavantage.
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 40
    Points
    40
    Par défaut
    Merci pour ton retour SuperGeoffrey.
    Bien vu pour la clause where, je n'y avais pas pensé.

    Dans notre cas, nous ne sommes pas nombreux a toucher aux jobs.
    A priori externaliser les requetes ne devrait pas poser de probleme. Mais je vais retenir l'option du where que tu proposes.


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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 40
    Points
    40
    Par défaut
    Juste pour completer ce post à toute fin utile, pratique interessante pour un usage "en interne".

    En mode projet avec des requetes correspondant a des données validées par le metier, c'est une pratique a eviter.

    En effet une modification, meme accidentelle par toute personne ayant acces au fichier (qui ne sont pas forcement les memes que les pesonnes qui accedent aux jobs talend), aurait un effet sur la qualite des données traitées.
    Cela avec le risque que cette anomalie ne soit pas vu de suite (le traitement continuera de tourner jusqu'a ce qu'un utilisateur s'apercoive de données en anomalie).

    Dans ce cas il est plutot recommandé de laisser les requetes dans les jobs, qui ne seront modifiables que sur demande, par les developpeurs autorisés et de n'utiliser un fichier de parametres que pour des données techniques (connexion base, host ftp, ...).

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2008, 18h24
  2. [VB6]exécution des requétes sql
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/06/2006, 07h24
  3. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 10h17
  4. Recuperer les erreurs des requetes sql en asp
    Par emile13 dans le forum ASP
    Réponses: 3
    Dernier message: 01/04/2004, 13h49
  5. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 16h54

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