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 :

Le champs « nom de table » dans le composant ""tMssqlInput""


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Le champs « nom de table » dans le composant ""tMssqlInput""
    Bonjour,
    Je voudrai savoir ce que veux dire le champ « nom de la table » dans le composant talend «tMssqlInput »
    Es ce que c’est la table destination : sur laquelle on va mettre les données « insert »
    Ou c’est la table source : sur laquelle on va faire des « select »
    J’ai vu des exemples de job qui utilisent ce composant, et j’ai remarqué que le nom de la table indiqué dans le champ « nom de table », ne figurait même pas dans la requête ;
    Donc je me demande a qui il sert
    Qlq un peut m’éclaircir cela ??
    Merci d’avance,
    Cordialement
    Adaprg

  2. #2
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Bonjour,

    Le champ "Nom de la table" dans un t[DB]Input indique le nom des tables SOURCES qui seront utilisées dans la requête. Ces noms peuvent être séparés par une virgule.
    Effectivement si tu n'indiques rien cela fonctionne aussi... cela sert à récupérer le schéma par défaut de la table si tu cliques sur le bouton schéma et que tu as au paravent importer le schéma des tables de ta bases dans la connexion mysql dans les métadonnées.

    J'espère avoir été clair

    Bonne continuation.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Ok je crois que j’ai compris,

    Donc si je fais des « selects » par exemple dans la requête, et que je spécifie le schéma manuellement, donc je n’ai pas besoin d’indiquer quoi que ce soit dans ce champ.

    Ça va marcher ?

    Peux-tu confirmer ça ??

    Merci d’avance

    Cordialement

    Adaprg

  4. #4
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Effectivement je confirme
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  5. #5
    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
    Je confirme également...

    J'ajoute qu'il m'arrive très régulièrement d'utiliser les t...Input de cette manière. L'exemple le plus pertinent que je vois est celui des jointures.

    Lorsque je veux extraire les données d'une base avec une jointure, j'effectue celle-ci sur le SGBD, qui est bien plus efficace qu'un tMap.

    J'écris dans ce cas moi-même la requête d'input utilisant plusieurs tables, sans préciser le champ "table" :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT t1.c1, t1.c2, t1.c3, t2.c4
    WHERE t1.c2 = t2.c5
    AND t1.c3 > 100;

    Par ailleurs, si je dois filtrer les données d'entrée de manière simple, je le fais également dans la requête (cf. exemple ci-dessus), pour la même raison d'efficacité.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    merci jsd03
    merci CyberChouan

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut erreur JDBC "TMssqlinput"
    J’ai exécuté un job qui contient le composant « TMssqlinput»…

    Il m’affiche cette erreur :

    Exception in component tMSSqlInput
    java.sql.SQLException: Invalid object name 'nom de la table’
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic


    qlq un pourrez m’aider pour résoudre ce problème ???

    Merci d’avance

  8. #8
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Il semblerait que dans ton composant tMysqlnput tu as un champs initialisé à "nom de la table" (sans les doubles côtes) du coup il trouve pas la correspondance avec une variable.

    Dans le champs "Nom de la table" indique un nom de table valide entre guillemet ou n'indique rien.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    J’ai enlevé les guillemets et ça n’as pas marché…
    Je ne sais pas, peut être c’est un problème de connexion a la base… j’ai vérifié dans la base, la table sur laquelle je fais la requête, elle existe…. ;

  10. #10
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Citation Envoyé par adaprg Voir le message
    J’ai enlevé les guillemets et ça n’as pas marché…
    Je ne sais pas, peut être c’est un problème de connexion a la base… j’ai vérifié dans la base, la table sur laquelle je fais la requête, elle existe…. ;
    Justement il ne faut pas enlever les doubles côtes !

    Si ta table se nomme "USERS" alors champs nom de table devra être renseigné comme ceci :

    Ou encore une fois : en laissant le champ vide
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    ok merci pour tes reponses...
    mais moi je fais un "select" sur deux tables dans la requete,
    je dois renseigner les deux tables dans ce champ????

    merci d'avance

    cordialement

  12. #12
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Je vais encore me répéter...

    Le champ Nom de table ne doit pas être nécessairement rempli !

    Donc dans ton cas tu ne le remplis pas et dans le champ requête ben tu fais ta requête du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "SELECT t1.ID, t2.NAME
    from table1 t1
    join table2 t2
    on t1.id = t2.id"
    Et n'oublie pas de définir le schéma de ton composant en fonction des champs ramené par ta requête.

    Et voilà le tour est joué.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. [MySQL] Mettre le nom des champs d'une table dans un tableau
    Par beegees dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/10/2008, 15h43
  3. Réponses: 5
    Dernier message: 11/07/2007, 16h03
  4. Réponses: 2
    Dernier message: 19/02/2007, 13h02
  5. [FOREIGN K] Valeur de champ = nom de table. Bonne pratique ?
    Par Seb des Monts dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/05/2005, 10h56

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