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 :

Requêtes sur serveurs liés à DB2 AS400


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut Requêtes sur serveurs liés à DB2 AS400
    Bonjour,
    Je viens de lutter un peu pour créer un serveur lié vers une base DB2 AS400 en passant par le provider IBMDASQL.

    1/ Cela fonctionne en exécutant ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from OpenQuery(MYLINKEDSERVER, 'SELECT CHG0TD FROM xphafgsta.GGICHL01 WHERE xphafgsta.GGICHL01.CHGI06=10542647')
    Par contre cela ne fonctionne pas si mon appel se fait comme ça (je cherche en effet à pouvoir contourner le fait que l'on ne peut pas de base passer de paramètres à openQuery), bien que c'est un contournement qui a été validé sur ce forum par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    declare @TSQL varchar(8000), @VAR int
    select @VAR = 10542647
    select @TSQL = 'select * from OpenQuery(MYLINKEDSERVER, ''SELECT CHG0TD FROM xphafgsta.GGICHL01 WHERE xphafgsta.GGICHL01.CHGI06=' + convert(varchar, @VAR) + ''')'
    print @TSQL
    exec(@TSQL)
    Cela donne l'erreur suivante, bien que le print donne exactement la même chose que mon code qui s'exécute correctement plus haut :
    select * from OpenQuery(MYLINKEDSERVER, 'SELECT CHG0TD FROM xphafgsta.GGICHL01 WHERE xphafgsta.GGICHL01.CHGI06=10542647')
    Msg 7399, Level 16, State 1, Line 1
    The OLE DB provider "IBMDASQL" for linked server "MYLINKEDSERVER" reported an error. Access denied.
    Msg 7350, Level 16, State 2, Line 1
    Cannot get the column information from OLE DB provider "IBMDASQL" for linked server "MYLINKEDSERVER".
    2/ Idéalement, je trouverais plus propre de passer mon appel de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MYLINKEDSERVER.xphafgsta.GGICHL01 WHERE GENIUSTEST.xphafgsta.GGICHL01.CHGI06=10542647
    Mais je ne comprends pas pourquoi dans ce cas j'ai le message d'erreur suivant :
    Msg 208, Level 16, State 1, Line 1
    Invalid object name 'MYLINKEDSERVER.xphafgsta.GGICHL01'.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il me semble que c'est le piège à la con qui veut qu'il faut mettre un alias après le OpenQuery.
    Essaie ça et reviens-moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select @TSQL = 'select * from OpenQuery(MYLINKEDSERVER, ''SELECT CHG0TD FROM xphafgsta.GGICHL01 
    WHERE xphafgsta.GGICHL01.CHGI06=' + convert(varchar, @VAR) + ''') as TT'

  3. #3
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bonjour,
    Est-ce que la solution proposée corrige ton problème ?
    Si oui merci de marquer cette discussion comme résolu afin de valider cette solution pour d'autre personnes !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mygush Voir le message
    Si oui merci de marquer cette discussion comme résolu afin de valider cette solution pour d'autre personnes !
    Dis donc, Mygush, tu ne vas pas relancer tous les sujets morts depuis deux semaines ?

  5. #5
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Haha, c'est vrai que ça fait vraiment genre le gars il arrive un siècle après tout le monde
    Non mais c'est énervant les discussions qui ne sont pas marquées résolu

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mygush Voir le message
    Non mais c'est énervant les discussions qui ne sont pas marquées résolu
    Y a pire dans la vie !
    La plupart des sujets sont mort-nés, c'est comme ça !

Discussions similaires

  1. [2008R2] Requête sur serveur distant dans T-SQL
    Par Papy214 dans le forum Développement
    Réponses: 4
    Dernier message: 29/10/2013, 11h56
  2. Problémes de requêtes sur serveur lié excel
    Par chiche31 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 30/06/2010, 16h13
  3. Problème de transactions sur serveurs liés
    Par dens19 dans le forum Administration
    Réponses: 1
    Dernier message: 26/02/2010, 12h22
  4. Requête sur serveur lié
    Par GodGives dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/05/2009, 17h19
  5. [MS SQL Server 2000] problèmes sur serveurs liés
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/05/2008, 19h15

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