insert exec xp_cmdshell N'Ping 192.168.1.1'

26/10/2006 - 00:50 por Diego U | Informe spam
Buenas,

Tengo 2 sentencias:

insert into tabla exec xp_cmdshell N'Ping 192.168.1.1' --FUNCIONA
insert into @tabla exec xp_cmdshell N'Ping 192.168.1.1' --NO FUNCIONA

La idea es almacenar los registros en una variable tipo tabla o en una
variable, pues este SQL se tiene que ejecutar en JOBS simultaneos y NO puedo
bloquear las tablas mientras se resuelve el ping.

¿Alguien sabe como puedo guardar el resultado texto de "xp_cmdshell N'Ping
192.168.1.1'" en algun tipo de varible?

Desde ya, Muchas Gracias por su ayuda

Diego U

Preguntas similare

Leer las respuestas

#1 Maxi
26/10/2006 - 02:49 | Informe spam
Diego @tabla que tipo de variable es? que error da?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Diego U" wrote in message
news:
Buenas,

Tengo 2 sentencias:

insert into tabla exec xp_cmdshell N'Ping 192.168.1.1' --FUNCIONA
insert into @tabla exec xp_cmdshell N'Ping 192.168.1.1' --NO FUNCIONA

La idea es almacenar los registros en una variable tipo tabla o en una
variable, pues este SQL se tiene que ejecutar en JOBS simultaneos y NO
puedo
bloquear las tablas mientras se resuelve el ping.

¿Alguien sabe como puedo guardar el resultado texto de "xp_cmdshell N'Ping
192.168.1.1'" en algun tipo de varible?

Desde ya, Muchas Gracias por su ayuda

Diego U
Respuesta Responder a este mensaje
#2 Alejandro Mesa
26/10/2006 - 14:59 | Informe spam
Diego,

SQL Server no cuenta con la facilidad de macro-substitucion. Si quieres usar
ese metodo, debes recurrir a sql dinamico.

declare @sql nvarchar(4000)
declare @tn sysname

set @tn = N'dbo.t1'
set @sql = N'insert into ' + @tn + N' exec xp_cmdshell N''Ping 192.168.1.1'''

exec sp_executesql @sql
go

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


AMB

"Diego U" wrote:

Buenas,

Tengo 2 sentencias:

insert into tabla exec xp_cmdshell N'Ping 192.168.1.1' --FUNCIONA
insert into @tabla exec xp_cmdshell N'Ping 192.168.1.1' --NO FUNCIONA

La idea es almacenar los registros en una variable tipo tabla o en una
variable, pues este SQL se tiene que ejecutar en JOBS simultaneos y NO puedo
bloquear las tablas mientras se resuelve el ping.

¿Alguien sabe como puedo guardar el resultado texto de "xp_cmdshell N'Ping
192.168.1.1'" en algun tipo de varible?

Desde ya, Muchas Gracias por su ayuda

Diego U
Respuesta Responder a este mensaje
#3 Diego U
26/10/2006 - 17:07 | Informe spam
@tabla es un tipo de variable TABLA, se declara asi:

Declare @tbl table(idx int IDENTITY (1, 1) NOT NULL, descr varchar(500)
COLLATE SQL_Latin1_General_CP1_CI_AS NULL);

Gracias !

Diego U

"Maxi" wrote:

Diego @tabla que tipo de variable es? que error da?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Diego U" wrote in message
news:
> Buenas,
>
> Tengo 2 sentencias:
>
> insert into tabla exec xp_cmdshell N'Ping 192.168.1.1' --FUNCIONA
> insert into @tabla exec xp_cmdshell N'Ping 192.168.1.1' --NO FUNCIONA
>
> La idea es almacenar los registros en una variable tipo tabla o en una
> variable, pues este SQL se tiene que ejecutar en JOBS simultaneos y NO
> puedo
> bloquear las tablas mientras se resuelve el ping.
>
> ¿Alguien sabe como puedo guardar el resultado texto de "xp_cmdshell N'Ping
> 192.168.1.1'" en algun tipo de varible?
>
> Desde ya, Muchas Gracias por su ayuda
>
> Diego U



Respuesta Responder a este mensaje
#4 Diego U
26/10/2006 - 17:45 | Informe spam
Alejandro:
Muchas gracias por la respuesta, procederé al cambio aunque me toca cambiar
el diseño total de mi aplicación.

Saludos

Diego U


"Alejandro Mesa" wrote:

Diego,

SQL Server no cuenta con la facilidad de macro-substitucion. Si quieres usar
ese metodo, debes recurrir a sql dinamico.

declare @sql nvarchar(4000)
declare @tn sysname

set @tn = N'dbo.t1'
set @sql = N'insert into ' + @tn + N' exec xp_cmdshell N''Ping 192.168.1.1'''

exec sp_executesql @sql
go

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


AMB

"Diego U" wrote:

> Buenas,
>
> Tengo 2 sentencias:
>
> insert into tabla exec xp_cmdshell N'Ping 192.168.1.1' --FUNCIONA
> insert into @tabla exec xp_cmdshell N'Ping 192.168.1.1' --NO FUNCIONA
>
> La idea es almacenar los registros en una variable tipo tabla o en una
> variable, pues este SQL se tiene que ejecutar en JOBS simultaneos y NO puedo
> bloquear las tablas mientras se resuelve el ping.
>
> ¿Alguien sabe como puedo guardar el resultado texto de "xp_cmdshell N'Ping
> 192.168.1.1'" en algun tipo de varible?
>
> Desde ya, Muchas Gracias por su ayuda
>
> Diego U
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida