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

Outils SQL Server Discussion :

PB Lancement BCP


Sujet :

Outils SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut PB Lancement BCP
    Bonjour,

    Je souhaite utiliser l'utilitaire bcp de SqlServer afin de déposer des fichiers sur disque.
    J'ai donc créé une procedure stockée dans laquelle je construis ma chaine bcp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SET @BCPCommand = 'bcp "' + @MonSQL +'" queryout d:\Reporting\Unload\' + @NomFichier + ' -T -C -t;' 
    EXECUTE master..xp_cmdshell @BCPCommand
    J'ai malheureusement ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SQLState = 08001, NativeError = 17
    Error = [Microsoft][ODBC SQL Server Driver][Shared Memory]Ce serveur SQL n'existe pas ou son accès est refusé.
    SQLState = 01000, NativeError = 2
    Warning = [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (Connect()).
    J'ai testé en mettant le path de bcp.exe dans ma chaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SET @BCPCommand = '"C:\Program Files\Microsoft Sql Server\80\Tools\Binn\bcp.exe" "' + @MonSQL +'" queryout d:\Reporting\Unload\' + @NomFichier + ' -T -C -t;' 
    EXECUTE master..xp_cmdshell @BCPCommand
    Ce coup-ci j'ai le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'C:\Program' n'est pas reconnu en tant que commande interne
    Pour info le path du serveur fait bien référence au répertoire "C:\Program Files\Microsoft Sql Server\80\Tools\Binn"

    Je peux executer sans erreur via une commande dos la chaine suivante
    :
    "C:\Program Files\Microsoft Sql Server\80\Tools\Binn\bcp.exe"

    J'avoue que je commence à m'énerver sur le sujet.

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set @BCPexe='C:\"Program Files"\"Microsoft Sql Server"\80\Tools\Binn\bcp.exe'
    
    la subtilité consiste à mettre entre chaque mot avec des espaces des doubles quotes.
    Ben oui je n'ai pas encore compris pourquoi dans un xp_cmdshell un simple encadrement par des doubles quotes provoquait le phénomène que vous décrivez

    Dans votre exemple cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    DECLARE @FileName varchar(50),
                 @bcpCommand varchar(2000),
                 @MonSQL varchar(100),
                 @BCPexe varchar(100)
    set @MonSQL='SELECT * FROM [mabaser].[monschema].[matable]'
    set @BCPexe='C:\"Program Files"\"Microsoft Sql Server"\80\Tools\Binn\bcp.exe'
    SET @FileName='d:\Reporting\Unload\test.txt'
    SET @bcpCommand=@BCPexe+' "'+@MonSQL+'" queryout "'+@FileName+'" -T -C -c -SMonInstance'
    select @bcpCommand
    EXEC master..xp_cmdshell @bcpCommand
    
    Cordialement
    Luigi33

Discussions similaires

  1. Plantage sur lancement cde bcp
    Par scariou29 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/06/2008, 16h24
  2. [Kylix] Erreur au lancement de K3 en open C++
    Par Glouferu dans le forum EDI
    Réponses: 9
    Dernier message: 14/03/2003, 16h27
  3. Réponses: 1
    Dernier message: 13/01/2003, 09h26
  4. [Kylix] PB au lancement
    Par sebounator dans le forum EDI
    Réponses: 3
    Dernier message: 09/01/2003, 12h10
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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