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 :

Charger une table dans un tableau (ArrayList)


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 54
    Points
    54
    Par défaut Charger une table dans un tableau (ArrayList)
    Bonjour à tous,

    J'aimerais vous soumettre ce problème, qui me bloque depuis plusieurs heures.

    Grosso modo, j'ai un système source comprenant deux tables principales : une première table contenant des identifiants (une liste d'identifiants) et une seconde table contenant les libellés de ces identifiants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ---------------------------------                    -----------------------
    |                  A            |                    |           B         |
    ---------------------------------                    -----------------------
    |  ID1  |  ID2  |  ID3  |  ...  |                    |  ID  |  LIBELLE     |
    ---------------------------------                    -----------------------
    |  1    |  12   |  8    |  ...  |                    |  1  |  Je           |
    |  1    |  12   |  8    |  ...  |                    |  2  |  suis         |
    |  13   |  7    |  2    |  ...  |                    |  7  |  bloqué       |
    ---------------------------------                    -----------------------
    J'aimerais pour chaque ligne et chaque colonne de ma table (A), balayer ma table (B) pour récupérer le libellé correspondant.

    Sachant que le nombre de colonnes, de ma table (A) peut être variable et important, il est hors de question d'effectuer des jointures entre mes deux tables.

    J'avais donc l'idée de charger le contenu de ma table (B) en mémoire, dans un tableau (du style ArrayList), pour traiter les lignes de ma table (A) par l'intermédiaire d'une routine et d'un code Java.

    Je pense que je peux m'en sortir avec un tJava et un tSetGlobalVar, mais je ne parviens pas à trouver une solution pour charger ma table (B) dans un ArrayList.

    Existe t-il un moyen de charger ma table secondaire (B), quelque part, afin de pourvoir l'utiliser par la suite avec une syntaxe du genre "ma_table_B[0][0]" ?

    Etant débutant sur Talend, n’hésitez pas à détailler, si vous avez une solution

    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Voila une solution en utilisant un hashmap :

    1) chargement du réferentiel
    Tu utilises un tDBInput pour lire ta table vers un tjavaFlex
    DBInput - row1 -> tJavaFlex

    Dans le tJavaFlex
    begin initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.util.Map<String, String> myMap = new java.util.HashMap<String, String>();
    main alimentation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     myMap.put(row1.id, row1.label );
    end export pour le reste du job :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    globalMap.put("MYHASH",myMap);

    2) utilisation dans un tMap par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ((java.util.Map<String, String>)globalMap.get("MYHASH")).get(row2.id)
    row2.id est ta clef a transcoder.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 54
    Points
    54
    Par défaut
    Merci Emenuet, ça fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/05/2007, 16h59
  2. [Base Access] Stocker une Table dans un tableau
    Par La Praline dans le forum VB 6 et antérieur
    Réponses: 78
    Dernier message: 25/04/2007, 15h24
  3. [MySQL] Lister le contenu d'une table dans un tableau HTML
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/04/2006, 19h40
  4. [HTML] Charger une page dans un tableau? Possible?
    Par mec.nimois dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/10/2005, 11h32
  5. [PL/SQL] Charger une table dans une collection
    Par nosnoss dans le forum Oracle
    Réponses: 10
    Dernier message: 03/03/2005, 17h56

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