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 :

Probleme SP_addlogin + VARCHAR


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Points : 46
    Points
    46
    Par défaut Probleme SP_addlogin + VARCHAR
    Bonsoir à tous

    J'ai un problème avec une requete de sp_addlogin quand la variable est activée
    J'espere pouvoir trouver la solution parmis vous , car je séche !!

    Requete fonctionnelle mais sans variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    use WinXS
    select
    /*
    u.name as Utilisateur
    ,g.name as Groupe
    ,x21.LoginName
    */
    'exec sp_addlogin N'''+ x21.LoginName + ''',''' + x21.LoginName+''', WinXS, english'
     
    FROM sysusers u JOIN sysusers g ON u.gid = g.uid
     join WinXS..x21 x21 ON u.name = x21.LoginName
    WHERE g.name LIKE 'WinXS%'
    order by g.name, u.name
    Requete que j'aimerais faire fonctionner avec la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    use WinXS
    DECLARE @SQL VARCHAR(8000)
    select @SQL = ISNULL(@SQL, 'USE master; ') +
     
    'exec sp_addlogin N'''+ x21.LoginName + ''',''' + x21.LoginName+''', WinXS, english'
    /*
    u.name as Utilisateur
    ,g.name as Groupe
    ,x21.LoginName
    */
    FROM sysusers u JOIN sysusers g ON u.gid = g.uid
     join WinXS..x21 x21 ON u.name = x21.LoginName
    WHERE g.name LIKE 'WinXS%'
    order by g.name, u.name
     
    -- PRINT @SQL
     
    USE master
    EXEC (@SQL)
    elle me remonte l'erreur suivante :
    Serveur*: Msg 170, Niveau 15, État 1, Ligne 1
    Line 1: Incorrect syntax near 'sp_addlogin'.

    Pour exemple celle-ci fonctionne parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Use WinXS
    DECLARE @SQL VARCHAR(8000)
    select  @SQL = ISNULL(@SQL, 'USE master; ') +
     'EXEC sp_addrole N'''+ g.name + ''' '
    FROM sysusers u JOIN sysusers g ON u.gid = g.uid
    left join WinXS..x21 x21 ON u.name = x21.LoginName
    WHERE g.name = u.name  AND g.name LIKE 'WinXS%' 
    order by g.name, u.name
     
    -- PRINT @SQL
     
    USE master
    EXEC (@SQL)

    Bonne soirée !

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Décommentez le PRINT et commentez l'EXEC.
    Quelle chaîne de requête obtenez vous ?

    @++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Bonjour elsuket (mon maitre ),

    J'ai effectué la modification et j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    USE master; EXEC sp_addlogin N'BERGE','BERGE', WinXS, englishEXEC sp_addlogin N'BRAHMI','BRAHMI', WinXS, englishEXEC sp_addlogin N'DELOINCE','DELOINCE', WinXS, englishEXEC sp_addlogin N'JOSY','JOSY', WinXS, englishEXEC sp_addlogin N'MOLINIER','MOLINIER', WinXS, englishEXEC sp_addlogin N'nedap','nedap', WinXS, englishEXEC sp_addlogin N'SASSIER','SASSIER', WinXS, englishEXEC sp_addlogin N'WinXS','WinXS', WinXS, english
    J'aime bien ce forum car il y a 900 forums et un développeur qui répond !!

    En regardant le code j'ai trouvé la réponse !!! il me manquait un ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    USE WinXS
    DECLARE @SQL VARCHAR(8000)
    SELECT @SQL = ISNULL(@SQL, 'USE master; ') +
     
    'EXEC sp_addlogin N'''+ x21.LoginName + ''',''' + x21.LoginName+''', WinXS, english;'
    /*
    u.name as Utilisateur
    ,g.name as Groupe
    ,x21.LoginName
    */
    FROM sysusers u JOIN sysusers g ON u.gid = g.uid
     JOIN WinXS..x21 x21 ON u.name = x21.LoginName
    WHERE g.name LIKE 'WinXS%'
    ORDER BY g.name, u.name
     
    -- PRINT @SQL
     
    USE master
    EXEC (@SQL)
    Merci pour la clé de la réponse !!

    Bonne journée

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    A toi aussi

    @++

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

Discussions similaires

  1. Probleme de type de donnée varchar
    Par soussou63 dans le forum Modélisation
    Réponses: 2
    Dernier message: 12/12/2008, 21h47
  2. [TSQL]Probleme d'insertion d'une chaine (varchar) contenant un simple quote
    Par Anthony.Desvernois dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2007, 15h57
  3. Problème création champ VARCHAR
    Par Sylver--- dans le forum Installation
    Réponses: 2
    Dernier message: 06/09/2006, 13h54
  4. [TRIGGER]Probleme "declare x VARCHAR"
    Par syvid dans le forum DB2
    Réponses: 2
    Dernier message: 22/06/2006, 09h03
  5. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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