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 SQL Server Discussion :

Question autour de sp_executesql


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut Question autour de sp_executesql
    Bonjour,
    Si vous pouvez me dire simplement ce que je dois faire pour utiliser le nom d'une table (ou d'une vue) comme paramètre de sp_executesql (dans une stored proc.):

    DECLARE @tab varchar(50)
    SET @tab = 'uneTableQcq'
    DECLARE @sql nvarchar(200)
    DECLARE @param_def nvarchar(100)
    DECLARE @p_tab varchar(50)
    SET @sql = N'SELECT * FROM @p_tab;'
    SET @param_def = N'@p_tab varchar(50)'
    EXECUTE sp_executesql @sql, @param_def, @p_tab=@tab;


    Je veux éviter de faire
    SET @sql = N'SELECT * FROM' + @tab
    pour des raisons de sécurité.

    Merci!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 32
    Par défaut
    Je ne pense pas que cela soit possible

    Pourquoi ne pas créer une procédure stockée pour "cacher" le code SQL ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE PROCEDURE MaProcedure
        @Matable NVARCHAR(50)
    AS
        DECLARE @sql NVARCHAR(100)
        SET @sql = N'SELECT * FROM ' + @Matable
     
        EXECUTE sp_executesql @sql
    GO
     
    EXECUTE MaProcedure 'Table'
    ________________________________
    Seminoque, créateur de
    http://www.bingokaz.com

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut Question autour de sp_executesql
    Je ne voulais pas faire comme tu le propose pour sécuriser le code, surtout pour éviter de se faire "jéoparder" (si je puis dire):

    http://blogs.msdn.com/raulga/archive...injection.aspx

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Cette fonctionnalité a été ajouté dans la version 2008 de sql serveur.
    Bon courage

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/10/2008, 16h58
  2. Questions autours du pathfinding
    Par valefor dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 25/07/2007, 19h41
  3. [CPUID] Questions autour du CPU
    Par secretman dans le forum Delphi
    Réponses: 1
    Dernier message: 09/06/2007, 13h00
  4. Trois questions autour de Windows Server
    Par Kain94 dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 07/08/2006, 10h32
  5. [JSF] Questions autour des servlets
    Par maximus001ma dans le forum JSF
    Réponses: 4
    Dernier message: 25/07/2006, 13h27

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