Como exportar consulta SQL Server 2005 para CSV
-
18-09-2019 - |
Pergunta
Eu quero exportar alguns dados SQL Server 2005 para o formato CSV (separados por vírgulas com aspas). Não posso pensar em um monte de maneiras complicadas de fazer isso, mas eu quero fazê-lo da direito maneira. Eu olhei bcp, mas eu não consigo descobrir como colocar as aspas em torno dos campos (exceto concatenando-los para os valores do campo, que é feio). Eu acho que eu poderia fazê-lo com sqlcmd e -o, mas que parece feio, pela mesma razão.
Existe uma maneira bcp para fazê-lo?
Existe uma maneira sqlcmd razoável para fazê-lo?
Existe alguma grande utilidade, simples embutido no Management Studio que eu só estou com vista?
Solução
No Management Studio, selecione o banco de dados, clique com o botão direito e selecione Tasks->Export Data
. Lá você verá opções para exportação para diferentes tipos de formatos, incluindo CSV, Excel, etc.
Você também pode executar sua consulta a partir da janela de consulta e salvar os resultados para CSV.
Outras dicas
No estúdio de gestão, as opções de conjunto de consulta para a saída para o arquivo, e em Opções> consulta resultados definir a saída para o arquivo de saída usando vírgula como delimitador.
Se você não pode usar Management Studio eu uso sqlcmd.
sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","
Esta é a maneira mais rápida de fazê-lo a partir da linha de comando.
Eu tive que fazer uma coisa mais do que o que Sijin disse para obtê-lo para adicionar aspas corretamente no SQL Server Management Studio 2005. Vá para
Tools->Options->Query Results->Sql Server->Results To Grid
Coloque uma verificação ao lado desta opção:
Quote strings containing list separators when saving .csv results
Nota: o método acima não vai funcionar para SSMS 2005 Express! Tanto quanto eu sei que não há nenhuma maneira de citar os campos ao exportar resultados para .csv usando SSMS 2005 Express.
Sim, existe um utilitário muito simples em Management Studio, se você está olhando apenas para salvar consulta resultados para um arquivo CSV.
Botão direito do mouse no conjunto de resultados, o selecione "Salvar resultados como". O tipo de arquivo padrão é CSV.
Se ele se adapta às suas necessidades, você pode usar bcp na linha de comando se você fizer isso com freqüência ou quer construí-lo em um processo de produção.
Eis um link descrevendo a configuração.
Para consultas ad hoc:
Mostrar resultados no modo de grade (CTRL + D), consulta executar, clique top box mão esquerda na grade de resultados, cole para o Excel, salvar como CSV. Você pode ser capaz de colar diretamente em um arquivo de texto (não pode experimentá-lo agora)
Ou "Os resultados até arquivo" tem opções demais para CSV
Ou "Resultados ao texto" com separadores vírgula
Todas as configurações em Tool..Options e consulta .. opções (eu penso, não pode verificar) demasiado
SET NOCOUNT ON
as aspas estão aí, uso -w2000 para manter cada linha em uma linha.
No SQL 2005, isso é simples: 1. estúdio e gestão Abra o SQL Server copiar a instrução SQL que você precisa para o TSQL, como sp_whatever exec 2. query-> Resultados à grade 3. Destaque a instrução SQL e executá-lo 4. Destaque o resultados de dados (clique com o botão à esquerda na área superior esquerdo da grade de resultados) 5. Agora clique com o botão direito e selecione Salvar resultados como 6. Selecione CSV no Salvar como tipo, digite um nome de arquivo, selecione um local e clique em Salvar.
Fácil!
No SQL Server 2012 - Management Studio:
Solução 1:
Executar a consulta ??p>
Clique direito a janela de resultados
Selecionar Exceto resultados como a partir do menu
Select CSV
Solução 2:
Botão direito do mouse no banco de dados
Selecione Tarefas, exportar dados
Selecionar origem DB
Selecionar destino: Flat File Destination
Escolha um nome de arquivo
Selecionar formato - delimitado
Escolha uma tabela ou escrever uma consulta ??p>
Escolha um delimitador de coluna
Nota: Você pode escolher um qualificador de texto que irá delimitar os campos de texto, tais como citações.
Se você tem um campo com vírgulas, não use você usar a vírgula como um delimitador, porque não escapar vírgulas. Você pode escolher um delimitador de coluna, como barra vertical: | em vez de vírgula ou um caractere de tabulação. Caso contrário, escreva uma consulta que escapa seus vírgulas ou delimita o campo varchar.
O caractere de escape ou o texto qualificador você precisa usar depende de suas necessidades.
Eu acho que a maneira mais simples de fazer isso é a partir do Excel.
- Abra um novo arquivo do Excel.
- Clique na guia Dados
- Selecione outras fontes de dados
- Selecionar SQL Server
- Digite o nome do servidor, banco de dados, nome de tabela, etc.
Se você tem uma versão mais recente do Excel você poderia trazer os dados do PowerPivot e, em seguida, inserir esses dados em uma tabela.
SSIS é uma boa maneira de fazer isso. Isso pode ser, em seguida, programada usando SQL Server Agent trabalhos.
Você pode usar o módulo seguinte Node.js para fazê-lo com uma brisa: