Ir para conteúdo

POWERED BY:

Arquivado

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

sergio.carvalho

SQL Server to Excel

Recommended Posts

Amigo.

A maioria das pessoas usam o Excel como a planilha padrão em seus escritorios.

Nem todos os bancos tem essa capacidade de exportar para Excel.

Tente buscar uma rotina que pelo ao menos exporte como arquivo CSV.Depois registre o CSV para abrir com o Excel.Então seu problema estará resolvido.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade ele cria uma lista de acordo com o resultado do SELECT.

Olha o exemplo abaixo:

 -- To allow advanced options to be changed.EXEC sp_configure 'show advanced options', 1GO-- To update the currently configured value for advanced options.RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell', 1GO-- To update the currently configured value for this feature.RECONFIGUREGO -- To disallow advanced options to be changed.EXEC sp_configure 'show advanced options', 0GO-- To update the currently configured value for advanced options.RECONFIGUREGO Exec master..xp_cmdshell 'bcp "SELECT top 10 * FROM DATABASE..TABELA" queryout "d:\testing.xls" -c -UUSER -Psenha'
As opções de SP_CONFIGURE servem para habilitar o uso do xp_cmdshell e das opções avançadas.
Faço isso por BPC, pelo Integration, por Bulk Insert.
O modo postado é um dos meios que passo para meus alunos.
[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo.

A maioria das pessoas usam o Excel como a planilha padrão em seus escritorios.

Nem todos os bancos tem essa capacidade de exportar para Excel.

Tente buscar uma rotina que pelo ao menos exporte como arquivo CSV.Depois registre o CSV para abrir com o Excel.Então seu problema estará resolvido.

Almir, não entendi, para abrir o *.cvs sem o problema das informações estarem em uma mesma celula, tenho que configurar meu Excel?

 

 

A.Jr, sei disso, mas essa linha de comando não tem como eu colocar uma variavel onde seria o nome do arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim....

 

vou montar um exemplo, aguenta ai.



declare @nomearquivo varchar(max)declare @sql varchar(max) set @nomearquivo ='A.JR' set @sql = 'Exec master..xp_cmdshell ''bcp "SELECT top 10 * FROM DATABASE..TABELA" queryout "d:\'+@nomearquivo + '.xls" -c -UUSER -Psenha'''select (@sql)exec (@sql) 
Podemos colocar nome da database, tabela e outros parametros no BPC, utilizando a mesma lógica.
Pode-se montar inclusive o nome da planilha, mas ai, é mais para Integration Service do que o BCP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu bcp esta com erro pode me ajudar, podia jurar que ele funcionava. O erro e de Login failed, cannot be used with Windows Authentication

bcp "select * from [Goku].dbo.vegeta" queryout "C:\Teste\Sergio.xls" -c -t -q -S "M68" -T

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro é devido o modo de autenticação do SQL. Tente passar na sintaxe um usuário e senha, do mesmo modo que postei no exemplo, ou altere o modo de autenticação:

Logado no MMS (Microsoft SQL Server Management Studio) clique com o botão direito sobre a instancia --> Propriedades --> Segurança

 

Altere a primeira opção.

 

[]´s

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.