Como gerar um arquivo .txt a partir do sql server 2008
23/11/2011
0
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
Post mais votado
23/11/2011
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
Mais Posts
25/03/2015
Marcos P
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
25/03/2015
Wygor Raimundo
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.
25/03/2015
Marcos P
[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' " !
13/05/2015
Wygor Raimundo
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
27/10/2016
Pedro César
quando executo o metodo para abertura do arquivo tenho retorno do erro -2146828218.
Você poderia me ajudar.
Obrigado
Clique aqui para fazer login e interagir na Comunidade :)