Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nlopes

Resultado de uma query em TXT.

Recommended Posts

Caros colaboradores, estou com um problema que esta emperrando meu trabalho.

 

Quero gerar um arquivo em TXT onde o conteudo é o resultado de uma consulta ao banco.

 

o codigo para gerar o txt que eu uso eh o seguinte:

 

exec master.dbo.xp_cmdshell

'bcp "select * from [server].[schema].[table]" queryout c:\nomedoArquivo.txt -c -T'

 

assim esse codigo funciona numa boa, o problema eh quando eu coloco o select que realmente eu quero:

 

Select:

 

 

select '1'+'03204'+'2'+'093'+'0'+'Resultado '+'SI+'2735'+'CON'+'2'+'RETORNO'+'31012008'+'31012008'+'31012008'

 

union all

 

select codReg + codConv + dvConv + extConv + dvExtConv + dbo.lpad(cast(cod as varchar),5,0) +

przVencCont + przRemCont + numCont + numPrest + numMat + nome +

dbo.lpad(replace(cast(vlPrest as varchar),'.',''),17,0) + codOco + contCorr + cpf

from #retRemessaBanco

 

union all

 

select '3'+'03204'+'2'+'093'+'0'+

dbo.Lpad(replace(cast((select count(*) from #retRemessaBanco) as varchar),'.',''),5,0)+

dbo.Lpad(replace(cast((select sum(vlPrest) from #retRemessaBanco) as varchar),'.',''),17,0)+

dbo.Lpad(replace(cast((select sum(vlAux) from #retRemessaBanco) as varchar),'.',''),17,0)+

dbo.Lpad(replace(cast(((select sum(vlAux) from #retRemessaBanco) - (select sum(vlPrest) from #retRemessaBanco)) as varchar),'.',''),17,0)

 

Quando eu coloco esse select mais complexo da um erro doido..

 

alguem pode ajudar aeee....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o resultado esta sendo esse aqui::

 

1 usage: bcp {dbtable | query} {in | out | queryout | format} datafile

2 [-m maxerrors] [-f formatfile] [-e errfile]

3 [-F firstrow] [-L lastrow] [-b batchsize]

4 [-n native type] [-c character type] [-w wide character type]

5 [-N keep non-text native] [-V file format version] [-q quoted identifier]

6 [-C code page specifier] [-t field terminator] [-r row terminator]

7 [-i inputfile] [-o outfile] [-a packetsize]

8 [-S server name] [-U username] [-P password]

9 [-T trusted connection] [-v version] [-R regional enable]

10 [-k keep null values] [-E keep identity values]

11 [-h "load hints"] [-x generate xml format file]

12 NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

No lugar do -T

use:

-U[uSUARIO_DO_db] -P[sENHA_DO_USUARIO]

 

fica mais ou menos assim:

 

Exec master..xp_cmdshell 'bcp "SELECT * FROM database..tabela" queryout "d:\testing.xls" -c -Usa -P*****'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jus2ka,

 

Já tentei dessa forma, e é como falei acima quando o select é simples ele esta funcionando, mas quando o select é um pouco mais complexo, usando UNION.

Esta dando esse problema.

 

E nao entendi direito o codigo que voce passou, pois você faz referencia na clausula FROM ao database e não a Tabale, como eu pensei que fosse.

dar para explicar melhor isso aê?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.