Eliminar Archivos vía SQL

25/06/2004 - 20:28 por Pao | Informe spam
Hola a todos a nivel de SQL quiero eliminar archivos de
una ruta llamada
c:\cobis\kernel\log\ estos archivos manejan el formato
errormes.dia ambos de dos digitos. Ejemplo error06.25

Como hago para eliminar todos los menores a esa fecha
(gedate-1)???
Intente hacer algo pero no funciona solo consegui formar
el nombre del archivo.

declare
@w_fechai varchar(20),
@fecha_resultado datetime
set @fecha_resultado=dateadd(dd,case when datename(dw,
getdate()) in
('Sunday') then -2 else -1 end,getdate())

if DATEPART(mm, @fecha_resultado) < 10
set @w_fechai ='0'+convert(varchar(2),DATEPART
(mm, @fecha_resultado))
else
set @w_fechai =convert(varchar(2),DATEPART(mm,
@fecha_resultado))

if DATEPART(dd, @fecha_resultado) < 10 set
@w_fechai = @w_fechai +'0'+convert(varchar(2),DATEPART
(dd, @fecha_resultado))
else
set @w_fechai = 'error' +@w_fechai + '.'+convert
(varchar(2),DATEPART(dd, @fecha_resultado))
select @w_fechai
 

Leer las respuestas

#1 ulises
25/06/2004 - 22:00 | Informe spam
Primera pregunta: ¿tiene que ser necesariamente la
eliminación con SQL Server?, si la respuesta es afirmativa
y ya tienes formado el nombre del archivo puedes usar los
procedimientos sp_OA para eliminarlo, algo como (sin
probar) :

Declare @object int
Declare @status int
EXEC @status = sp_OACreate 'Scripting.FileSystemObject',
@object OUT
Exec @status = sp_OAMethod
@object, 'DeleteFile',c:\cobis\kernel\log\'+nombre,1
...

revisa los procedimientos sp_OA en el BOL y el detalle de
los métodos de FileSystemObject.

Saludos,
Ulises

Hola a todos a nivel de SQL quiero eliminar archivos de
una ruta llamada
c:\cobis\kernel\log\ estos archivos manejan el formato
errormes.dia ambos de dos digitos. Ejemplo error06.25

Como hago para eliminar todos los menores a esa fecha
(gedate-1)???
Intente hacer algo pero no funciona solo consegui formar
el nombre del archivo.

declare
@w_fechai varchar(20),
@fecha_resultado datetime
set @fecha_resultado=dateadd(dd,case when datename(dw,
getdate()) in
('Sunday') then -2 else -1 end,getdate())

if DATEPART(mm, @fecha_resultado) < 10
set @w_fechai ='0'+convert(varchar(2),DATEPART
(mm, @fecha_resultado))
else
set @w_fechai =convert(varchar(2),DATEPART(mm,
@fecha_resultado))

if DATEPART(dd, @fecha_resultado) < 10


set
@w_fechai = @w_fechai +'0'+convert(varchar(2),DATEPART
(dd, @fecha_resultado))
else
set @w_fechai = 'error' +@w_fechai + '.'+convert
(varchar(2),DATEPART(dd, @fecha_resultado))
select @w_fechai


.

Preguntas similares