63 votes

Comment exporter une requête SQL Server 2005 en CSV

Je veux exporter certaines données de SQL Server 2005 au format CSV (séparées par des virgules et des guillemets). Je peux penser à de nombreuses façons compliquées de le faire, mais je veux le faire de la manière suivante droite façon. J'ai regardé bcp, mais je n'arrive pas à trouver comment mettre les guillemets autour des champs (sauf en les concaténant aux valeurs des champs, ce qui est laid). Je suppose que je pourrais le faire avec sqlcmd et -o, mais cela semble laid pour la même raison.

Y a-t-il un moyen bcp plus efficace de le faire ?

Existe-t-il un moyen raisonnable de le faire en sqlcmd ?

Existe-t-il un utilitaire simple et génial intégré au Management Studio que je néglige ?

63voto

Jose Basilio Points 29215

Dans Management Studio, sélectionnez la base de données, cliquez à droite et sélectionnez Tasks->Export Data . Vous y verrez des options d'exportation vers différents types de formats, notamment CSV, Excel, etc.

Vous pouvez également exécuter votre requête à partir de la fenêtre de requête et enregistrer les résultats au format CSV.

44voto

Sijin Points 3682

Dans Management Studio, définissez les options de la requête comme étant la sortie vers le fichier, et dans Options->Résultats de la requête, définissez la sortie vers le fichier comme étant la sortie utilisant la virgule comme délimiteur. alt text

31voto

curtisboy Points 161

Si vous ne pouvez pas utiliser Management Studio, j'utilise sqlcmd.

sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","

C'est le moyen le plus rapide de le faire en ligne de commande.

25voto

goku_da_master Points 903

J'ai dû faire une chose de plus que ce que Sijin a dit pour que l'ajout de guillemets se fasse correctement dans SQL Server Management Studio 2005. Allez à

Tools->Options->Query Results->Sql Server->Results To Grid

Cochez cette option :

Quote strings containing list separators when saving .csv results

Note : la méthode ci-dessus ne fonctionnera pas pour SSMS 2005 Express ! Pour autant que je sache, il n'y a aucun moyen de citer les champs lors de l'exportation des résultats vers le format .csv en utilisant SSMS 2005 Express.

9voto

Gus Points 1193

Oui, il existe un utilitaire très simple dans Management Studio, si vous cherchez simplement à enregistrer les résultats d'une requête dans un CSV.

Cliquez avec le bouton droit de la souris sur l'ensemble des résultats, puis sélectionnez "Enregistrer les résultats sous". Le type de fichier par défaut est CSV.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X