Como gerar um arquivo .txt a partir do sql server 2008

23/11/2011

0

Pessoal, boa noite,

Estou com uma grande dificuldade de encontrar algum material que me oriente na geração de um arquivo .txt, de um determinado layout, que possui posições de inicio e fim de cada campo da tabela, exemplo: campo CNPJ inicio coluna 10 fim coluna 24, total de 14 caracteres, usando comando sql, ou seja, querys.

Alguém possui algum material que possa me enviar ?
Caso não, alguém poderia me dar os primeiros passos para eu gerar este arquivo ?

Segue meu email = paulojabqueiroz@yahoo.com.br

Grande abraço a todos,

Paulo Queiroz
Paulo Queiroz

Paulo Queiroz

Responder

Post mais votado

23/11/2011

Paulo,

Segue um exemplo:

alter procedure sp_escrevenoarquivo (@Caminho SYSNAME, @TXT VARCHAR(8000) )
as

begin

DECLARE @FSO INT, @RES int, @FID int

EXECUTE @RES = sp_OACreate Scripting.FileSystemObject, @FSO OUT

-- Abertura do Arquivo
EXECUTE @RES = sp_OAMethod @FSO, OpenTextFile, @FID OUT, @Caminho, 8, 1

-- Escrita para o arquivo
EXECUTE @RES = sp_OAMethod @FID, WriteLine, Null, @TXT
EXECUTE @RES = sp_OAMethod @FID, close, Null
EXECUTE @RES = sp_OADestroy @FID
EXECUTE @RES = sp_OADestroy @FSO
end


EXEC SP_EscreveNoArquivo C:\Testes.txt , Essa é a primeira linha do arquivo


Existe também a possibilidade de gerar o arquivo via comando BCP ou CMDSHELL

exemplo:
declare @Cmd varchar(255)
set @Cmd = sqlcmd -Urm -Prm -dCorporeRMOficial -q select chapa,nome from pfunc -o c:\funcionario.txt
exec master..xp_cmdshell @Cmd

Marco Pinheiro

Marco Pinheiro
Responder

Mais Posts

25/03/2015

Marcos P

"Orcamento" não é um uma tabela válida nesse contexto...

Você está no BD correto ?

A query funciona fora do BCP ?

Você está rodando no console do server ou em outra máquina ?

Você logou via autenticação do Windows ?

O usuário logado tem permissão de escrita na pasta de saída ?

Você conseguiu efetuar algum teste com os exemplos do link da MIcrosoft, que coloquei acima ?
https://msdn.microsoft.com/pt-br/library/aa337544.aspx
Responder

25/03/2015

Wygor Raimundo

Estou executando no banco correto.
A query funciona apenas no SQL Server.
Estou logado via autenticação do Windows.
Não sei como definir as permissões...

Vou tentar aprender com alguns colegas, pois por estes links eu nunca fiz algo nada do tipo e está meio confuso.
Obrigado pelo apoio Marcos.
Responder

25/03/2015

Marcos P

Testei em um Sql Server 2000, também...

[img]http://arquivo.devmedia.com.br/forum/imagem/378439-20150325-160624.png[/img]

Repare como existe a referência completa ao banco e tabela de origem ( dbExemplo..cliente ), mesmo estando com ele ativo...

Acho que foi esse o seu problema quando gerou o erro... " Invalid object name 'Orcamento' " !
Responder

13/05/2015

Wygor Raimundo

Marco deu tudo certo. Esqueci de vir aqui postar a minha resposta...
E ainda consegui fazer no Sql Server e também em MySql.

Se alguém precisar de ajuda, podem me add no skype: marlon.portaldeideias
Responder

27/10/2016

Pedro César

Boa tarde, Paulo!
quando executo o metodo para abertura do arquivo tenho retorno do erro -2146828218.
Você poderia me ajudar.

Obrigado
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar