Pasar parámetro a procedimiento almacenado en SQL desde ASP

07/03/2006 - 09:19 por FJNevado | Informe spam
Buenos días,

Tengo el siguiente problema. Desde una página ASP ejecuto un procedimiento
almacenado en SQL que lanza mediante 'xp_cmdshell' un .vbs. Actualmente me
funciona correctamente, pero ahora, necesito pasar al procedimiento
almacenado una variable indicando el nombre del servidor en el que ejecutar
el .vbs

He probado 200 ejemplos, pero no termino de dar con el problema.

El código de ASP es:
' Creamos la conexión con el Servidor de SQL para ejecutar el Procedimiento
Almacenado
Dim objCnn, strSQL, strSQLInsName, objSalida, strSalida,i
Set objCnn = Server.CreateObject("ADODB.Connection")
strSQL = "Driver={SQL
Server};Description=SQL;SERVER=BarajasServer\BarajasSQL;UID=iusr_pipe;PWD¢006.tMt;DATABASE=master"
objCnn.Open strSQL
strSQLInsName = "EjecutaOrdenes"
Set objSalida = objCnn.Execute(strSQLInsName)
strSalida = objSalida(0)

El código del Procedimiento almacenado es:
CREATE PROC EjecutaOrdenes
AS
EXEC xp_cmdshell 'C:\VBScript\Usuarios.vbs',
output
GO

Y en el .vbs capturar el %1 mediante argumentos para tomar el Nombre del
Servidor.

Muchas gracias por vuestra colaboración.

Un saludo,
Fran
 

Leer las respuestas

#1 keko
07/03/2006 - 18:51 | Informe spam
No tengo muy claro lo que quieres hacer pero yo creo que esto pues
puedes probarlo a ver que pasa. :D. Ojo! con el espacio entre la
extensión y la comilla simple que tiene que ponerlo.

CREATE PROC EjecutarOrdenes
(
@argumento varchar(255)
)
AS
EXEC xp_cmdshell 'C:\VBScript\Usuarios.vbs ' + @argumento, output



K





FJNevado wrote:
Buenos días,

Tengo el siguiente problema. Desde una página ASP ejecuto un procedimiento
almacenado en SQL que lanza mediante 'xp_cmdshell' un .vbs. Actualmente me
funciona correctamente, pero ahora, necesito pasar al procedimiento
almacenado una variable indicando el nombre del servidor en el que ejecutar
el .vbs

He probado 200 ejemplos, pero no termino de dar con el problema.

El código de ASP es:
' Creamos la conexión con el Servidor de SQL para ejecutar el Procedimiento
Almacenado
Dim objCnn, strSQL, strSQLInsName, objSalida, strSalida,i
Set objCnn = Server.CreateObject("ADODB.Connection")
strSQL = "Driver={SQL
Server};Description=SQL;SERVER=BarajasServer\BarajasSQL;UID=iusr_pipe;PWD¢006.tMt;DATABASE=master"
objCnn.Open strSQL
strSQLInsName = "EjecutaOrdenes"
Set objSalida = objCnn.Execute(strSQLInsName)
strSalida = objSalida(0)

El código del Procedimiento almacenado es:
CREATE PROC EjecutaOrdenes
AS
EXEC xp_cmdshell 'C:\VBScript\Usuarios.vbs',
output
GO

Y en el .vbs capturar el %1 mediante argumentos para tomar el Nombre del
Servidor.

Muchas gracias por vuestra colaboración.

Un saludo,
Fran

Preguntas similares