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

BIRT Discussion :

Multiple values et procédure stockée


Sujet :

BIRT

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 42
    Points
    42
    Par défaut Multiple values et procédure stockée
    Bonjour,

    Pour exécuter un rapport, j'ai besoin de sélectionner plusieurs paramètres dans une listbox. Jusque là tout va bien, j'arrive à consulter mon paramètre dans le rapport mais il faudrait que je puisse le passer à une procédure stockée...

    Dans mon dataSet appelant ma procédure, lorsque j'essaye de linker un paramètre à un reportParameter, si j'ai coché "Allow multiple values", celui-ci n'apparait plus... Est-ce normal?

    Dans un deuxième temps, s'il est possible de passer ce paramètre, quel type de paramètre dois-je déclarer dans ma procédure? (SQL Server)

    Cordialement,

    Fab

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    J'ai retenté avec la version 3.7.0 de BIRT aujourd'hui (je devais utiliser la 2.5.2 à la base).
    Cette fois-ci, il m'autorise à linker les deux paramètres mais il me signale qu'il n'utilisera que la première valeur de la liste sélectionnée... Je comprends pas bien l'utilité mais, en tout cas il n'a pas le comportement que j'espérais!

    Quelqu'un peut-il, s'il vous plait, me dire sous quelle forme je peux envoyer une liste de paramètre à ma procédure?

    Cordialement,

    Fab

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Salut,

    Les paramétres multi-valués sont transmis sous forme de tableaux. Si il te signale qu'il n'utilisera que la première valeur de la liste sélectionnée c'est que tu essaies d'affecter ce tableau à un parametre de type "primitif" (string, integer...).
    2 solutions:
    - Ou bien la procédure stockée en question sait gérer un tableau de valeurs, ou encore peut être adaptée pour le faire
    - Ou bien il faut écrire une fonction javascript transformant ce tableau avant l'envoi à la procédure, dans le format souhaité par la-dite procédure.

    A titre d'exemple, voici une petite fonction qui transforme un paramètre Birt multi-value de type String en une chaine utilisable dans un "in" SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function IN_string(paramMV){
    //paramMV must be a Multi Value String parameter.
    //returns a "in" string SQL compliant : "value1","value2","value3"
      var list = "";
      for (var i = 0; i < paramMV.length ;i++)
        {
    	list += "\"" + paramMV[i] + "\"";
    	if (i != paramMV.length - 1){
                list += ",";
    	}
        }
      return list;
    }
    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Merci de ta réponse, je commençais à désespérer après toutes mes recherches infructueuses!

    La deuxième solution me conviendrait bien plus. Mais peux-tu me dire à quel endroit je dois la définir?

    EDIT: Finalement, j'ai creusé un peu tout seul! C'était la première fois que j'utilisais ce type de fonction, et ça marche impeccable!

    Un grand merci pour ton aide!!

    Cordialement,

    Fab

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Content d'avoir pu t'aider
    A+

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

Discussions similaires

  1. choix multiple par procédure stockée
    Par zemblamoh dans le forum Développement
    Réponses: 10
    Dernier message: 02/11/2009, 11h25
  2. [SQL2K5] Procédure stockée avec paramètre à valeurs multiple
    Par Jinroh77 dans le forum Développement
    Réponses: 1
    Dernier message: 16/05/2008, 17h31
  3. multiples requêtes ou procédure stockée ?
    Par grinder59 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2007, 15h53
  4. [CR 9]Procédure stockée et valeurs multiples
    Par dibox dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 15/06/2006, 10h17
  5. procédure stockée insert multiple
    Par gigi34 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2005, 10h37

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