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 :

[TSQL] Problème de quotes xp_cmdshell [2005]


Sujet :

MS SQL Server

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Par défaut [TSQL] Problème de quotes xp_cmdshell
    Bonjour à tous,

    Je dois éxecuter une commande Powershell à l'aide de xp_cmdshell pour écrire une requête XMLA dans un fichier. Le problème est que dans cette commande Powershell, j'ai besoin de simples quotes et de doubles quotes.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                    declare @xmla varchar(max)
    		set @xmla = '<Discover xmlns='+char(39)+'urn:schemas-microsoft-com:xml-analysis'+char(39)+'><RequestType>MDSCHEMA_CUBES</RequestType><Restrictions /><Properties><PropertyList><Catalog>'+'GTB2_v1'+'</Catalog></PropertyList></Properties></Discover>'
    		print @xmla 
     
    		declare @cmdxmla varchar(max)
    		set @cmdxmla = 'Powershell -command "C:\scripts\parseXMLA.ps1 -Argument1 "'+@xmla+'" -Argument2 C:\scripts\QueryCubes.xmla'
    		print @cmdxmla 
     
     
    		exec xp_cmdshell @cmdxmla
    Qui donne comme résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Powershell -command "C:\scripts\parseXMLA.ps1 -Argument1 "<Discover xmlns='urn:schemas-microsoft-com:xml-analysis'><RequestType>MDSCHEMA_CUBES</RequestType><Restrictions /><Properties><PropertyList><Catalog>GTB2_v1</Catalog></PropertyList></Properties></Discover>" -Argument2 C:\scripts\QueryCubes.xmla
    Msg 214, Level 16, State 201, Procedure xp_cmdshell, Line 1
    Procedure expects parameter 'command_string' of type 'varchar'.
    J'ai besoin de quotes après "-command", avant "<Discover...>" et avant "urn...".

    Dans l'interpreteur de commande Powershell, la commande ci-dessous marche, c'est le fait de l'adapter avec xp_cmdshell et de devoir rajouter encore des quotes qui me pose problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\scripts\parseXMLA.ps1 -Argument1 "<Discover xmlns='urn:schemas-microsoft-com:xml-analysis'><RequestType>MDSCHEMA_CUBES</RequestType><Restrictions /><Properties><PropertyList><Catalog>GTB2_v1</Catalog></PropertyList></Properties></Discover>" -Argument2 C:\scripts\QueryCubes.xmla
    Quelqu'un aurait une idée pour que cette commande soit correctement interprétée ?

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Par défaut
    Je vais peut etre dire une bétise mais je pense que je commencerais par doubler les quotes de @xmla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     declare @xmla varchar(max)
    		SET @xmla = '<Discover xmlns='+char(39)+'urn:schemas-microsoft-com:xml-analysis'+char(39)+'><RequestType>MDSCHEMA_CUBES</RequestType><Restrictions /><Properties><PropertyList><Catalog>'+'GTB2_v1'+'</Catalog></PropertyList></Properties></Discover>'
    		print @xmla 
     
    set @xmla = replace(@xmla, '''', '''''')
     
    		declare @cmdxmla varchar(max)
    		SET @cmdxmla = 'Powershell -command "C:\scripts\parseXMLA.ps1 -Argument1 "'+@xmla+'" -Argument2 C:\scripts\QueryCubes.xmla'
    		print @cmdxmla 
     
     
    		exec xp_cmdshell @cmdxmla

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Par défaut
    J'ai tenté mais le problème persiste.


    Edit : J'ai finalement contourné le problème en passant le code XMLA dans mon script powershell.

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

Discussions similaires

  1. [SQL2K][TSQL] Problème de NOT EXISTS
    Par Bal1n dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/05/2006, 10h47
  2. Problème de quote avec XPath
    Par fadjerx dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/03/2006, 14h45
  3. [JS] Problème de quotes pour enregistrer un formulaire.
    Par polnioumane dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/10/2005, 17h04
  4. Problème de quotes sous PostGre
    Par Philhz dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/07/2004, 13h03
  5. Problème de quote
    Par kennini dans le forum ASP
    Réponses: 4
    Dernier message: 20/11/2003, 09h40

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