Jump to content

Archived

This topic is now archived and is closed to further replies.

RoyalFlush

[Resolvido] Exportar para txt via query

Recommended Posts

Olá's!

 

Antes de qualquer coisa, boa noite, peço desculpas caso alguém já tenha postado sobre isso, mas após algumas horas de pesquisa não encontrei nada que me atenda adequadamente.

 

 

O cenário é o seguinte:

Possuo uma grande tabela de endereços, contendo rua, numero, bairro, cidade, estado, data de inclusão e ID,

Também possuo uma arvore de diretórios com fotos desses endereços (C:\Enderecos\"ID do endereço") com fotos desses locais.

 

Preciso exportar para um arquivo TXT todos os dados daquele endereço e salvar na mesma pasta das fotos.

 

Já ouvi falar que tem como fazer isso direto do SQL, mas não encontrei referencia alguma de como fazer isso, se alguém poder me dar um exemplo de ao menos como exportar 1 desses arquivos, fico muito grato.

 

[]’s

Share this post


Link to post
Share on other sites

Ola

RoyalFlush

 

 

Existem diversos meios para se fazer isso.... mas vamos por partes.... :P

 

Possuo uma grande tabela de endereços, contendo rua, numero, bairro, cidade, estado, data de inclusão e ID,

Também possuo uma arvore de diretórios com fotos desses endereços (C:\Enderecos\"ID do endereço") com fotos desses locais.

 

Entao vamos a uma estrutura de tabela temporaria:

 

declare @dados table (nome varchar(max) , rua varchar(max), numero bigint, bairro varchar(max), cidade varchar(MAX), estado varchar(2), data_inclusao datetime default getdate(), id bigint identity (1,1))insert into @dados (nome, rua, numero, bairro, cidade, estado) values ('junior','rua a', 1, 'centro', 'Sao Paulo', 'SP')insert into @dados (nome, rua, numero, bairro, cidade, estado) values ('RoyalFlush','rua b', 2, 'bairro sei la eu', 'Sao Paulo', 'SP')select * from @dados 

 

Preciso exportar para um arquivo TXT todos os dados daquele endereço e salvar na mesma pasta das fotos

 

Agora vem a questao: Pode ser feito por BCP:

Vamos aproveitar a estrutura da tabela @dados:

 

-- exporto dados para uma pasta qqexec xp_cmdshell 'BCP usstrategy..@dados OUT c:\teste.TXT -c -t[;] -r{#}\n -CP850 -T -Slocalhost'

 

Note que eu exportei para a unidade c:\... o que você vai precisar fazer é ler o diretório para executar este BCP....

 

PS.

Achei este link que fiz a um tempo atras:

http://forum.imasters.com.br/index.php?/topic/395829-exportando-e-importando-dados-para-txt/

Share this post


Link to post
Share on other sites

Olá A.jr,

 

Muito obrigado pela ajuda, ficou apenas uma duvida.

Neste seu exemplo é exportada toda a tabela @dados, como faço para exportar apenas um registro dela?

Por exemplo o resultado da query

 

SELECT * FROM @dados WHERE ID = 1

[]'s

Share this post


Link to post
Share on other sites

No BCP.... você muda para isso:

 

 

 

exec xp_cmdshell 'BCP "select * from @dados where id = 1 " queryout c:\teste.TXT -c -t[;] -r{#}\n -CP850 -T -Slocalhost'

 

 

Somente cuidado com a diferença entre as letras maiusculas e minusculas do comando do BCP

 

Mais detalhes deste comando:

http://msdn.microsoft.com/en-us/library/ms162802.aspx

 

Abçs

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.