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

EDI/Outils Discussion :

[Reporting Services]Rapport en fonction de l'utilisateur qui se connecte


Sujet :

EDI/Outils

  1. #1
    Membre du Club Avatar de apoingsfermes
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Points : 42
    Points
    42
    Par défaut [Reporting Services]Rapport en fonction de l'utilisateur qui se connecte
    Bonjour,

    J'utilise les Reporting Services inclus dans SQL Server 2005.
    Je voudrais faire des rapports spécifiques à chaque utilisateur qui se connecte au serveur de rapports.
    C'est un exemple courant : chaque commercial qui se connecte doit voir ses activités et seulement les siennes.
    Il faut donc que j'arrive à récupérer les credentials de l'utilisateur connecté (méthode d'authentification Windows), et que je passe le logon en paramètre de ma requête pour filtrer. Mais je ne vois pas du tout comment faire ??

    Merci à vous,

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 34
    Points
    34
    Par défaut mmh
    Tu n'arrives pas à récupérer le nom d'utilisateur de la session windows ou bien passer un élément en paramètre à ton report ? ou carrement les deux?

  3. #3
    Membre du Club Avatar de apoingsfermes
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Disons les deux...
    Je sais déclarer, dans Visual Studio, un paramètre et l'intégrer dans une requête, mais je ne vois pas comment récupérer le nom de l'utilisateur Windows et l'intégrer dans la requête.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 34
    Points
    34
    Par défaut ok
    La propriété System.Environment.UserName te permettra de récupérer le nom du user.

    Ensuite, il suffit que tu crées un paramètre de type string au niveau de ton report et lors de son "appel", tu lui passes le user précédemment récupéré.

  5. #5
    Membre du Club Avatar de apoingsfermes
    Profil pro
    Inscrit en
    Février 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    OK, ça marche, je te remercie !

    EDIT : il y a également une autre manière de récupérer le logon de l'utilisateur connecté :
    Je préfère cette méthode parce que dans la valeur renvoyée par ce champ il y a le nom de domaine, ce qui m'arrange.

    Donc la méthode, pour ceux qui n'auraient pas tout intégré :
    - créer un report parameter de type String, et cocher "Hidden".
    - Dans Default Values, cocher "Non-queried" et mettre "=User!UserID" dans le champ
    - dans la requete du dataset, filtrer en utilisant ce paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE usrLogon = @VotreLogonReportParameter

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Dans mon report si je met System.Environment.UserName j'obtiens une erreur lors de la génération du report.

    Erreur lors du traitement du paramètre de rapport « UserN ». (rsReportParameterProcessingError)
    dans le report pour la parametre UserN jai mis en valeur par defaut =System.Environment.UserName.

    Ce qui est bizarre c'est que sa marche très bien dans l'apercu du report. Mais pas une fois déployé.

    Si je met User!UserID sa marche mais j'ai l'username ET le nom de domaine.
    Comment puis je obtenir seulement l'user name sans le nom de domaine devant.
    Merci.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Bon en fait jai pris User!UserID et j'ai viré le domaine comme ceci.
    =Replace(User!UserID,"DOMAINE\","",1)

    A+

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

Discussions similaires

  1. colorier une cellule en fonction de l'utilisateur qui l'a modifiée
    Par rugbyman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/02/2012, 01h23
  2. Réponses: 3
    Dernier message: 17/02/2012, 09h51
  3. Reporting Services - rapport qui ne s'affiche pas
    Par sandmil dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/07/2007, 14h10
  4. [Reporting Services] Rapport dynamique
    Par Jé@Zoom dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/06/2007, 16h31
  5. [reporting services] rapport/sous-rapport
    Par gdkenny dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/08/2006, 09h23

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