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 :

openquery paramétrable ?


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut openquery paramétrable ?
    Bonjour,

    J'ai besoin d'utiliser OPENQUERY dans un gros script, mais je souhaiterais pouvoir passer en paramètre le serveur cible.

    Genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @serveur xxxx
    SELECT @serveur = 'monserveur'
    SELECT * from OPENQUERY( @serveur, 'SELECT * FROM TABLE')
    Malheureusement une variable ne semble pas acceptée en premier paramètre. Est-ce possible d'une autre manière ?

    Apparemment OPENROWSET offre des possibilités analogues avec une chaine en premier paramètre, qui devrait pouvoir se mettre plus facilement dans une variable.

    Ma question est alors : si bien sûr je créée la source OleDb équivalente à mon serveur lié, est-ce bien équivalent à OPENQUERY, y compris en performances ?

    Merci à ceux qui peuvent me faire partager leurs expériences.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    Bonjour
    le problème est que le premier paramétre n'est pas une chaine de caractères mais un "linked server"
    j'ai eu le même problème que vous et je m'en suis sorti car mon user de connexion y avait les privilèges avec cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @serveur sysname
    SELECT @serveur = 'Nom du serveur distant'
    exec('SELECT * FROM '+@serveur+'.Mabase.dbo.Matable')
    Maintenant si vous trouvez une solution avec OPENQUERY n'hésitez à me le faire savoir.

    cordialement

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    ReBonjour,

    Non satisfait de ma précédente réponse, je vous propose ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DECLARE @variable VARCHAR(10)
    DECLARE @sqlQuery VARCHAR(8000)
    DECLARE @finalQuery VARCHAR(8000) 
     
    SET @variable = 'LINKEDSERVERNAME' -- Remplacer LINKEDSERVERNAME par le nom de votre serveur lié
    SET @sqlQuery = 'SELECT * FROM MaBase.dbo.MaTable' 
    SET @finalQuery = 'SELECT * FROM OPENQUERY('+@variable+',' + '''' + @sqlQuery + '''' + ')' 
     
    EXEC(@finalQuery)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Ok, la dernière solution proposée est la bonne.

    OPENROWSET n'est malheureusement pas utilisable, car il faut passer un mot de passe en clair.

    Merci.

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

Discussions similaires

  1. OpenQuery, Select/Case, et paramètres
    Par zouhenlai dans le forum VBA Access
    Réponses: 8
    Dernier message: 07/10/2008, 17h41
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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