Ir para conteúdo

Arquivado

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

ri_nepo

xp_cmdshell sql 2005

Recommended Posts

Boa tarde galera,

 

Fiz o script abaixo e está exportando o resultado para um arquivo txt, o problema é que não está enviando o nome da coluna

 

alguem poderia me auxiliar ?

 

DECLARE cc CURSOR FAST_FORWARD 

FOR SELECT BASE FROM DOTZDBM..DW_B2C_SEGMENTACAO WHERE GERADO = 0

DECLARE @arquivo VARCHAR(255),@SQL VARCHAR(255) 



OPEN cc 

FETCH NEXT FROM cc INTO @arquivo 

WHILE @@FETCH_STATUS=0 

BEGIN 

SET @sql = 'BCP "SELECT * FROM DOTZREPORT..'+ @arquivo + '" queryout "D:' + cast(@arquivo as varchar) + '.txt" -w -t" " -T -S"' + @@servername +'"' 

--print (@sql) 

EXEC master..xp_cmdshell @sql, no_output 

FETCH NEXT FROM cc INTO @arquivo 

END 

CLOSE cc 

DEALLOCATE cc

grande abraços

 

Ricardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

você teria um exemplo básicão para me passar dentro da estrutura do código acima ?

eu vi os exemplos mas não entendi muito bem

 

agradeço pela ajuda

 

abraços

 

Ricardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tentei fazer assim , mas ai ele so me traz a primeira coluna

 

tem alguma ideia ?

 

SELECT top 1 col.name,col.name

FROM syscolumns col

INNER JOIN sysobjects tab ON tab.id = col.id

INNER JOIN systypes tip ON tip.xtype = col.xtype

WHERE tab.name = 'DW_B2C_CADASTRO'

 

union all

 

SELECT top 10 NOME,EMAIL

FROM DW_B2C_CADASTRO

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar esse script:

 

use pubs
go

declare @totCol int, @cont int, @idTable varchar(20), @aux varchar(100), @insert varchar(8000)

select @idTable = id from sysobjects where name = 'authors'

set @Insert = ''
set @cont = 0

select @totCol = count(*) from syscolumns where id = @idTable
while (@cont < @totCol)
begin
	set @cont = @cont + 1
	select @aux = name from syscolumns where id = @idTable and colorder = @cont	  
	set @Insert = @Insert + ', ' + @aux
end

select @Insert
no exemplo com a tabela authors do banco pubs retorna:

Retorno

----------------------------------------------------------------------------------

, au_id, au_lname, au_fname, phone, address, city, state, zip, contract

 

(1 row(s) affected)

talvez ajude

 

outro tópico que pode ajudar: http://forum.imasters.com.br/index.php?showtopic=224865

 

abs

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

show,

 

ta quase perfeito o que precisaria agora era que o nome da colunas aparececem separadas em formato de tabela igual quando você faz uma consulta no query analyzer manja ?

 

vou dar uma pesquisa por aqui , se alguem tiver alguma ideia ficarei agradecido

 

abraços

 

Ricardo

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.