ferreira12 Posted March 15, 2013 at 04:49 PM Report #499321 Posted March 15, 2013 at 04:49 PM (edited) Olá, quero copiar o conteúdo que se encontra numa tabela para um ficheiro .txt para isso estou a usar o seguinte código: EXEC MASTER.DBO.XP_CMDSHELL 'bcp "SELECT * FROM [testes].[dbo].[Analise]" queryout C:\teste.txt -S xxx\SQLEXPRESS -U sa -P 1234 -t , -r \n -w' Agora queria que ele me criasse automaticamente o nome e a pasta e que coloca-se num destino C:\ por exemplo. é possível fazer isto através do sql server? Edited March 15, 2013 at 04:51 PM by ferreira12
ferreira12 Posted March 18, 2013 at 12:09 PM Author Report #499533 Posted March 18, 2013 at 12:09 PM já consegui resolver.
pmg Posted March 18, 2013 at 12:47 PM Report #499535 Posted March 18, 2013 at 12:47 PM Mete a solução na tua resposta. Podes assim ajudar outro utilizador com o mesmo problema (ou, talvez, outro problema parecido). What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
ferreira12 Posted March 18, 2013 at 02:39 PM Author Report #499542 Posted March 18, 2013 at 02:39 PM Tens toda a razão, aqui fica a solução Declare @str_comando varchar(500), @str_NomeArquivo varchar(100) Select @str_NomeArquivo = 'C:\Nome_' + Replace(Convert(varchar,Getdate(),103),'/','') + SubString(Replace(Convert(varchar,Getdate(),108),':',''),1,4) + '.TXT'; Set @str_comando = 'bcp "SELECT * FROM tabela" queryout ' + @str_NomeArquivo + ' -S xxx\SQLEXPRESS -U sa -P 1234 -t , -r \n -w'; Exec xp_cmdshell @str_comando End
ferreira12 Posted March 18, 2013 at 03:43 PM Author Report #499549 Posted March 18, 2013 at 03:43 PM O passo seguinte era criar trigger, com o código acima, acrescentei apenas o codigo abaixo. CREATE Trigger [dbo].[TR_Exporta_Arquivo] On [dbo].[teste] FOR INSERT,UPDATE as Criei o dito cujo, O meu programa que anteriormente fazia o update/insert normal, agora dá erro de timeout ou servidor não está a corresponder. Vou mais para a opção que o servidor não está a corresponder, porque quando tento realizar um select a tabela em questão ele não devolve a informação, fica sempre a tentar, mas não consegue devolver. O que poderei estar a fazer de mal, existem alternativas ao trigger, eu nunca usei esta é a minha primeira experiencia com os triggers, aconselha-me? sim? não?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now