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 :

affecter le résultat d'une requete à une variable globale


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 33
    Points : 11
    Points
    11
    Par défaut affecter le résultat d'une requete à une variable globale
    Bonjour,
    Je suis bloqué sur un pb depuis lgtps, je désirerai affecter le résultat d'une requête à une variable globale:

    Requête: select to_char(jc_voisine(sysdate,-2),'yyyy-mm-dd') from dual
    Comment faire??

  2. #2
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    En en mettant un tSetGlobalVar après ton tOracleInput ? dans Value tu mets rowX.taValeur

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 42
    Points : 44
    Points
    44
    Par défaut
    bonjour,

    je souhaite faire la même chose, récupérer la valeur d'un champ d'une requête (me ramenant 1 seule ligne) et la stocker dans une variable globale.

    J'ai créé une variable globale "test"
    je crée mon job :
    tMysqlInput (flux avec un champ "folder") >> tSetGlobalVar (clé = "test", value = row1.folder) >> tjava (pour voir mon résultat)

    mon tjava est le suivant :
    System.out.println("context.test retourne: " + context.test);
    System.out.println("globalMap.get retourne : " + ((String)globalMap.get("test")));

    les 2 System.out.println me retournent systématiquement NULL alors que j'ai bien une ligne dans le flux (avec la valeur "folder" affectée coorectement).

    Merci de votre aide.

  4. #4
    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
    Une variable globale et une variable de contexte sont deux choses distinctes : le comportement que tu rencontres est donc parfaitement normal.

    Le tSetGlobalVar met la valeur dans la "globalMap" : pour la récupérer, il faut utiliser :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    globalMap.get("test")

    Pour utiliser une variable de contexte (et y accéder par "context.test"), il faut remplacer tSetGlobalVar par le composant tContextLoad

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut
    Bonjour,

    Il faut modifier ton job de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tMysqlInput (flux avec un champ "folder") --[main]--> tJavaRow
    et dans le tJavaRow, tu écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    globalMap.put("test",row1.folder)

Discussions similaires

  1. Affectation du résultat d'un echo à une variable
    Par saladin443 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 17/05/2013, 12h34
  2. Affecter le résultat d'un CAT à une variable
    Par bpdelavega dans le forum Linux
    Réponses: 8
    Dernier message: 24/05/2010, 16h41
  3. affecter le resultat d'une requete à une variable
    Par thor18 dans le forum VBA Access
    Réponses: 13
    Dernier message: 22/11/2007, 16h40
  4. affecter le résultat d'une requete à une comboBox
    Par freestyler dans le forum Delphi
    Réponses: 5
    Dernier message: 25/10/2006, 15h37
  5. affecter le résultat de chaque colonne à une variable
    Par zut94 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/11/2005, 17h35

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