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 :

[SQL Server 2005]Export resultat d'une requête


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut [SQL Server 2005]Export resultat d'une requête
    Bonjour,

    voila comme dit dans le titre, j'aimerais exporter le résultat d'une requête dans un fichier texte, si possible avec un format CSV, mais ca on verra après...

    J'ai bien trouvé l'utilitaire "bcp", mais j'aimerais le faire directement dans ma procédure stockée, si c'est possible, à l'image de BULK mais en export...

    et ca j'ai pas trouvé.

    Qq1 a-t-il une idée ?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Par défaut
    bonjour,

    avec xp_cmdshell, vous pouvez peut etre executer bcp depuis une procedure stockée...

  3. #3
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Il faut toutefois que l'administrateur SQL Server ait autorisé xp_cmdshell ce qui, logiquement, ne devrait pas être le cas (trop risqué).

    Ton export, faut-il le faire une seule fois ou régulièrement ? Désolé pour cette bête question mais cela va impacter la procédure :

    Une seule fois : dans SSMS, quand tu fais un execute de ton query, tu peux afficher les données sous forme de texte.

    Régulièrement : il me semble que la meilleure façon serait de passer via un package SSIS. Il existe plusieurs tutoriels sur developpez.net.

  4. #4
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    Citation Envoyé par cavo789 Voir le message
    Il faut toutefois que l'administrateur SQL Server ait autorisé xp_cmdshell ce qui, logiquement, ne devrait pas être le cas (trop risqué).

    Ton export, faut-il le faire une seule fois ou régulièrement ? Désolé pour cette bête question mais cela va impacter la procédure :

    Une seule fois : dans SSMS, quand tu fais un execute de ton query, tu peux afficher les données sous forme de texte.

    Régulièrement : il me semble que la meilleure façon serait de passer via un package SSIS. Il existe plusieurs tutoriels sur developpez.net.
    je connais SSIS, mais la visiblement on cherchait une autre solution

    j'ai essayé avec bcp, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bcp "exec sp_select_for_export" queryout "c:\test.txt" -S MONSERVER -U MONLOGIN -P MONPASSWORD -f "c:\format2.fmt"
    mais ca me sort l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQLState = HY010, NativeError = 0
    Error = [Microsoft][SQL Native Client]Erreur de séquence de fonction
    alors que grosso modo la meme chose mais avec une requete simple à la place de l'appel de proc stock, ca marchait.

    (Je précise que le fichier de format, variait selon les cas)

    donc la, bcp ne marche pas avec les appels de proc stock si je comprends bien ?

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Par défaut
    tu peux exporter ton résultat dans une table de tempdb depuis ta procédure stockée et récupérer ton résultat par une simple requête et bcp si tu n'as pas problème de concurrence.
    Bon XP_CMPSHELL n'est pas recommandé, c'est vrai!

  6. #6
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    Citation Envoyé par ylarvor Voir le message
    tu peux exporter ton résultat dans une table de tempdb depuis ta procédure stockée et récupérer ton résultat par une simple requête et bcp si tu n'as pas problème de concurrence.
    Bon XP_CMPSHELL n'est pas recommandé, c'est vrai!
    ok..mais comment j'appelle l'exportation dans la table temporaire ?
    et surtout, ma table temporaire sera-t-elle accessible de l'exterieur via l'appelle de bcp ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/09/2010, 08h39
  2. [SQL SERVER 2005] Exporter une table en Access
    Par Golzinne dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/03/2007, 17h08
  3. Réponses: 1
    Dernier message: 09/09/2006, 21h52
  4. [SQL Server 2005] Problème de génération de requêtes.
    Par just1980 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/04/2006, 18h44
  5. [SQL Server] Limiter le resultat d'une requête
    Par obiwan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 02/06/2004, 11h25

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