Ejecutar la salida del Select

29/06/2004 - 00:12 por Pao | Informe spam
Hola a todos.
Tengo una duda con el sgte script, esta tabla tiene los
nombres de unos archivos, los que quiero eliminar
automaticamente.
Como hago para que la salida de mi select
se ejecute automaticamente sin tener que coger el
resultado y ejecutarlo??

select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from #DirList
where DateFile < convert(varchar(10), getdate(), 101)

Resultado:
master..xp_cmdshell 'del c:\cobis\kernel\log\error04.30'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.01'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.02'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.03'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.04'


Muchas gracias

Preguntas similare

Leer las respuestas

#1 MAXI
29/06/2004 - 00:56 | Informe spam
Hola, yo veria la posibilidad de hacerlo desde la aplicacion!! porque para
hacerlo con SqlServer deberias usar cursores y SqlDinamico y la verdad que
es una muy mala idea ;-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Pao" escribió en el mensaje
news:22a0c01c45d5c$fe6346f0$
Hola a todos.
Tengo una duda con el sgte script, esta tabla tiene los
nombres de unos archivos, los que quiero eliminar
automaticamente.
Como hago para que la salida de mi select
se ejecute automaticamente sin tener que coger el
resultado y ejecutarlo??

select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from #DirList
where DateFile < convert(varchar(10), getdate(), 101)

Resultado:
master..xp_cmdshell 'del c:\cobis\kernel\log\error04.30'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.01'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.02'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.03'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.04'


Muchas gracias

Respuesta Responder a este mensaje
#2 Pao
29/06/2004 - 01:04 | Informe spam
Si efectivamente me funcionó con esto, pero desde que
aplicación te refieres que lo elimine???

Hola, yo veria la posibilidad de hacerlo desde la


aplicacion!! porque para
hacerlo con SqlServer deberias usar cursores y


SqlDinamico y la verdad que
es una muy mala idea ;-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Pao" escribió en el mensaje
news:22a0c01c45d5c$fe6346f0$
Hola a todos.
Tengo una duda con el sgte script, esta tabla tiene los
nombres de unos archivos, los que quiero eliminar
automaticamente.
Como hago para que la salida de mi select
se ejecute automaticamente sin tener que coger el
resultado y ejecutarlo??

select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from #DirList
where DateFile < convert(varchar(10), getdate(), 101)

Resultado:
master..xp_cmdshell 'del c:\cobis\kernel\log\error04.30'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.01'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.02'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.03'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.04'


Muchas gracias





.

Respuesta Responder a este mensaje
#3 Pao
29/06/2004 - 01:08 | Informe spam
La idea es mala por cuestiones de performace???

Hola, yo veria la posibilidad de hacerlo desde la


aplicacion!! porque para
hacerlo con SqlServer deberias usar cursores y


SqlDinamico y la verdad que
es una muy mala idea ;-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Pao" escribió en el mensaje
news:22a0c01c45d5c$fe6346f0$
Hola a todos.
Tengo una duda con el sgte script, esta tabla tiene los
nombres de unos archivos, los que quiero eliminar
automaticamente.
Como hago para que la salida de mi select
se ejecute automaticamente sin tener que coger el
resultado y ejecutarlo??

select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from #DirList
where DateFile < convert(varchar(10), getdate(), 101)

Resultado:
master..xp_cmdshell 'del c:\cobis\kernel\log\error04.30'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.01'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.02'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.03'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.04'


Muchas gracias





.

Respuesta Responder a este mensaje
#4 MAXI
29/06/2004 - 01:50 | Informe spam
Hola Pao, la idea no me gusta en este caso por cuestiones de seguirdad, y
ademas porque me parece que este tipo de cosas las deberias resolver en la
aplicacion cliente y no en el motor de BDD




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Pao" escribió en el mensaje
news:22c3601c45d64$d251b760$
La idea es mala por cuestiones de performace???

Hola, yo veria la posibilidad de hacerlo desde la


aplicacion!! porque para
hacerlo con SqlServer deberias usar cursores y


SqlDinamico y la verdad que
es una muy mala idea ;-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Pao" escribió en el mensaje
news:22a0c01c45d5c$fe6346f0$
Hola a todos.
Tengo una duda con el sgte script, esta tabla tiene los
nombres de unos archivos, los que quiero eliminar
automaticamente.
Como hago para que la salida de mi select
se ejecute automaticamente sin tener que coger el
resultado y ejecutarlo??

select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from #DirList
where DateFile < convert(varchar(10), getdate(), 101)

Resultado:
master..xp_cmdshell 'del c:\cobis\kernel\log\error04.30'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.01'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.02'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.03'
master..xp_cmdshell 'del c:\cobis\kernel\log\error05.04'


Muchas gracias





.

Respuesta Responder a este mensaje
#5 fergek
29/06/2004 - 22:02 | Informe spam
coincido completamente con Maxi.

En resumen... ademas de tener problemas con permisos, tenes un agujero
en lo que es el diseño del sistema.

de todas formas; si lo queres hacer asi; tendrias que hacer:


select 'master..xp_cmdshell ''del c:\cobis\kernel\log\'
+LineText +'''' from into #tmp #DirList
where DateFile < convert(varchar(10), getdate(), 101)

declare @varstring varchar(4000)
declare cur cursor fast_forward for select * from #tmp

open cur
fetch next from cur into @varstring
while @@fetch_status=0
begin
exec (@varstring)
fetch next from cur into @varstring
end

close cur
deallocate cur


/*
Algunos DBAs dicen que no es necesario hacer esto, pero por una
cuestion de prolijidad, lo incluyo...
*/

drop table #tmp
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida