SQL Server - eliminar archivos txt desde sql

   
Vista:
Imágen de perfil de Ignacio

eliminar archivos txt desde sql

Publicado por Ignacio (6 intervenciones) el 07/11/2017 14:33:47
estimados muy buenos dias, tengo una consulta, necesito eliminar archivos txt que se almacenan en el disco C: esos archivos son creados mediante sql server 2012 y guardan cierta informacion, pero ya me esta colapsando el disco duro, estoy haciendo pruebas desde mi pc personal para no dañar esa base de datos, e leido un par de foros y mediante el comando xp_cmdshell dicen que se puede, pero no logro ejecutar la consulta, ya que desde mi pc al hacer las pruebas me arroja el error acceso denegado a la ruta que quiero hacer las pruebas, quisiera saber como hacerlo, si alguien me puede ayudar estaria totalmente agradecido.

saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

eliminar archivos txt desde sql

Publicado por Isaias (3718 intervenciones) el 09/11/2017 23:04:22
Revisa con que usuario esta arrancada la instancia de SQL Server, este usuario debe tener PERMISOS sobre la carpeta donde se encuentran tus archivos.

Si es un usuario de Windows (active directory), checa que tenga permisos, de lo contrario se los asignas.

Cuéntanos si te sirvió la respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ignacio

eliminar archivos txt desde sql

Publicado por Ignacio (6 intervenciones) el 10/11/2017 17:14:07
Si, ya pude solucionar eso, tengo todos los permisos, ahora bien, tengo el siguiente código:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
declare	@cmd varchar(100),
@Path varchar(200) ,
@FileName varchar(255)
 
select	@Path = 'C:\pruebas\'  --- Mention the PAth
 
declare	@objFSO int
declare @i int
declare	@File varchar(1000)
declare @dt datetime
 
select @dt=getdate()-2 //solo como prueba
 
select @cmd = 'dir /B ' + @Path
create table #dir12(files varchar(1000))
 
insert #dir12 exec master..xp_cmdshell @cmd
 
select * from #dir12
 
while exists (select files from #dir12 where files is not null)
begin
select @filename = max(files) from #dir12
--Print @filename
select @File = @Path + @fileName
exec sp_OACreate 'Scripting.FileSystemObject', @objFSO out
exec sp_OAMethod @objFSO,'DeleteFile', null, @dt, @File
exec sp_OADestroy @objFSO
delete from #dir12 where files = @filename
end
 
drop table #dir12

y lo que quiero es eliminar archivos antiguos pero no obtengo el resultado esperado, si podrias darme alguna sugerencia lo agradeceria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

eliminar archivos txt desde sql

Publicado por Isaias (3718 intervenciones) el 10/11/2017 18:15:03
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ignacio

eliminar archivos txt desde sql

Publicado por Ignacio (6 intervenciones) el 10/11/2017 18:43:44
Te agradezco la ayuda estimado, probare con esa recomendación.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad