Geração de arquivo txt com header, body e footer.

790 views
Skip to first unread message

Daniel Santos Pereira Alencar

unread,
Dec 2, 2013, 2:34:21 PM12/2/13
to sqlserverdf
Boa tarde,

Alguém poderia me dizer como posso gerar uma arquivo txt com header, body e footer no sql server?
No header, vou ter o titulo de cada campo, no body o meu select e a footer irá ter o valor total que veio do select.
Ex.:
nome;telefone;valor
carlos;11111111;5,50
ricardo;11223322;10,00
jose;11332211;20,00
;;35,50

O que está pegando é como fazer essa junção para deixar o arquivo da forma que coloquei no exemplo.

Já agradeço.. Valeu!!

--
Daniel Santos Pereira
(61) 9257-3812

Rodrigo Ribeiro Gomes

unread,
Dec 2, 2013, 5:19:44 PM12/2/13
to sqlse...@googlegroups.com
Cara Você pode usar o SQL Server Integration Services (SSIS). 
Existe uma ferramenta, que por trás utiliza a engine do SSIS: Import and Export Wizard (Digite no menu iniciar em algum servidor onde tenha instalado o SQL Server).

Você também pode utilizar o "bcp", que é um ferramenta em linha de comando.

Com essas opções você irá conseguir gerar um arquivo com o header e seus dados. Gerar o Footer é possível com o SSIS e você irá precisar ter um noção básica para conseguir fazer isso.

Se preferir, você pode fazer com que sua query já retorne o total, e daí bastar usar algumas das ferramentas acima para exportar os dados.




(Obs.: Não conferi o conteúdo dos links em detalhes. Use-os apenas para um direcionamento)


--
 
---
You received this message because you are subscribed to the Google Groups "SQLServerDF" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sqlserverdf...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--

[]'s Rodrigo Ribeiro Gomes
MCITP: Database Administrator 2008
MCITP: Database Developer 2008

061 8106-2710

Demétrio Silva

unread,
Dec 2, 2013, 5:26:50 PM12/2/13
to sqlse...@googlegroups.com

Bom. Se é algo para gerar formatos eu faria pela aplicação e não no sql ou etl.

Alexandre Fadul

unread,
Dec 2, 2013, 6:34:15 PM12/2/13
to sqlse...@googlegroups.com
Também é possível fazer isso com script! Irei preparar um exemplo e posto amanhã!

Abs!

Daniel Santos Pereira Alencar

unread,
Dec 3, 2013, 5:40:17 AM12/3/13
to sqlserverdf
Alexandre,

Via script iria me ajudar muito. Vou dar uma estudada também nas outras formas de criar o arquivo.

Valeu!!

Advaldo de Paiva Moreira

unread,
Dec 3, 2013, 6:48:54 AM12/3/13
to sqlse...@googlegroups.com
Como falaram, dá para fazer via script. 
Pq não tenta por BCP mas com um Format File definido.

Att.

Alexandre Fadul

unread,
Dec 3, 2013, 10:28:51 AM12/3/13
to sqlse...@googlegroups.com
Daniel,

No momento estou em curso, mas fiz um bem rapidinho e tosco:

No management studio, acesse Ferramentas, Opções, Resultado da Consulta, SQL Server e desmarque a opção de incluir cabeçalho das colunas nos resultados.
Marque a opção de exibir resultado em modo TXT e rode o script abaixo:

create table exemplo ( nome varchar(20), telefone varchar(12), valor int)
insert into exemplo values ('Joao','2222-2222', '10')
insert into exemplo values ('Maria','2222-2222', '20')
insert into exemplo values ('Ricardo','2222-2222', '5')

set nocount on

Select '0'+';'+
'Nome'+';'+
'Telefone'+';'+
'Valor'
union
Select '1'+';'+
nome+';'+
telefone+';'+
convert(char(10),valor)
from Exemplo
union
Select '2'+';'+
''+';'+
''+';'+
convert(char(10),SUM(valor))
from Exemplo

Também é possível criar um melhor listando o nome das colunas utilizando pivot e a soma no final utilizando group by rollup.

Da uma lida nesses dois recursos para incrementar o select.

Abs!

Daniel Santos Pereira Alencar

unread,
Dec 4, 2013, 6:24:16 AM12/4/13
to sqlserverdf
Bom dia Alexandre.

Cara, muito obrigado.
Era isso que estava precisando mesmo. Por hora isso já está me ajudando, pois é para um relatório de simples conferência.
Estou aproveitando e fazendo com bcp também para ver outras possibilidades e melhor o aprendizado.

Valeu mesmo..

Reply all
Reply to author
Forward
0 new messages