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

MS SQL Server Discussion :

recuperation du domaine/user


Sujet :

MS SQL Server

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut recuperation du domaine/user
    bjr,

    j'ai une requete comme celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from appels where a_createur="a_createur"
    j'aimerai afficher les appels qui ont été crée par la personne qui est connectée au system.
    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Peux-tu préciser ton besoin ? Il faudrait avoir un peu plus d'explications afin de pouvoir proposer une solution.

    Merci.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut
    j'aimerai afficher les appels qui ont été crée par l'utilisateur connecté au system. puisque pour mon application "a_createur" prends le domaine/nom de l'utilisateur connecté au systeme. on ne s'authentifie pas pour mon application.

    Citation Envoyé par Madinico
    Peux-tu préciser ton besoin ? Il faudrait avoir un peu plus d'explications afin de pouvoir proposer une solution.

    Merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    JE pense que c'est au niveau de ton soft que tu dois voire comment récupérer le nom de ton utilisateur. Ceci est plus compliqué sous SQL Server car il faut avoir les droits nécessaires pour lire dans les tables systèmes de la base master.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut ok,je vais reflechir
    ok, je vais reflechir ou changer d'option .
    merci


    Citation Envoyé par Madinico
    JE pense que c'est au niveau de ton soft que tu dois voire comment récupérer le nom de ton utilisateur. Ceci est plus compliqué sous SQL Server car il faut avoir les droits nécessaires pour lire dans les tables systèmes de la base master.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 015
    Points
    53 015
    Billets dans le blog
    6
    Par défaut
    vous pouvez utiliser la tables des processus en filtrant sur le SPID courant...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM master..sysprocesses WHERE spid = @@SPID
    Il y a aussi les fonctions :
    USER
    USER_ID
    USER_NAME
    SESSION_USER
    SYSTEM_USER
    SUSER_SID
    SUSER_SNAME
    HOST_ID
    HOST_NAME
    ...

    A +

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut comment alors
    comment faire alors avec ma requte?je ne comprends pas bien!!
    merci



    Citation Envoyé par SQLpro
    vous pouvez utiliser la tables des processus en filtrant sur le SPID courant...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM master..sysprocesses WHERE spid = @@SPID
    Il y a aussi les fonctions :
    USER
    USER_ID
    USER_NAME
    SESSION_USER
    SYSTEM_USER
    SUSER_SID
    SUSER_SNAME
    HOST_ID
    HOST_NAME
    ...

    A +

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Tu peux essayer la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM appels WHERE a_createur in (SELECT USER_NAME FROM master.dbo.sysprocesses WHERE spid = @@SPID)
    Pour pouvoir effectuer ceci, il te faut les doit de lecture sur les tables de la base de données master.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut ça n'affiche pas
    bjr,
    ça affiche une erreur sur le champ USER_NAME qu'il ne reconnait pas. j'ai modifié en mettant loginame, il affiche ma grille vide sans enregistrement.

    Citation Envoyé par Madinico
    Tu peux essayer la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM appels WHERE a_createur in (SELECT USER_NAME FROM master.dbo.sysprocesses WHERE spid = @@SPID)
    Pour pouvoir effectuer ceci, il te faut les doit de lecture sur les tables de la base de données master.

  10. #10
    Membre actif Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Points : 281
    Points
    281
    Par défaut
    essayes avec nt_username...
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nt_domain, nt_username FROM master.dbo.sysprocesses WHERE spid = @@SPID

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 015
    Points
    53 015
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM   appels
           CROSS JOIN master..sysprocesses
    WHERE  spid = @@SPID
    A +

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 132
    Points : 54
    Points
    54
    Par défaut liste tous
    bjr,
    avec cette requete, j'ai le resultat de tous les appels, pas seulement ceux crées par moi qui suis je connectée.
    merci


    Citation Envoyé par SQLpro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM   appels
           CROSS JOIN master..sysprocesses
    WHERE  spid = @@SPID
    A +

Discussions similaires

  1. Recuperer le current user sous Unix ?
    Par larchicha dans le forum Débuter
    Réponses: 4
    Dernier message: 02/12/2011, 10h19
  2. Active directory Récupération Domain\User
    Par ManuDuc dans le forum C#
    Réponses: 6
    Dernier message: 31/01/2011, 16h12
  3. Réponses: 4
    Dernier message: 13/01/2011, 03h39
  4. Determiner le login name(DOMAIN\User) avec DirectoryServices
    Par mastervanou dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/07/2009, 12h08
  5. comment recuperer la session (user et mot de passe) de windows?
    Par mbouzouita dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 29/01/2007, 10h54

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