Foros del Web » Programando para Internet » ASP Clásico »

Ejecutar StoreProcedure con ASP

Estas en el tema de Ejecutar StoreProcedure con ASP en el foro de ASP Clásico en Foros del Web. Hola amigos, tengo un problema que no he podido resolver... estoy realizando un modulo administrador, en el cual un usuario entrará a este modulo y ...
  #1 (permalink)  
Antiguo 25/11/2004, 13:21
 
Fecha de Ingreso: marzo-2004
Mensajes: 23
Antigüedad: 20 años, 2 meses
Puntos: 0
Ejecutar StoreProcedure con ASP

Hola amigos, tengo un problema que no he podido resolver...

estoy realizando un modulo administrador, en el cual un usuario entrará a este modulo y tendrá un menu con varias opciones, estas opciones a su vez son ligas, las cuales ejecutan store procedures con algunos parametros:

EXEC sp_EjecutarDTS
@Server = 'MASTER',
@PkgName = 'Nombre' -- El que está en BD

yo lo ejecuto así en el Query Analyser y no hay bronca, el problema es cuando yo lo quiero mandar a llamar desde una liga en una página web... agradecería en demasía su ayuda, ya he estado tratando de buscar documentación al respecta y pues nada a estado claro...

Saludos
  #2 (permalink)  
Antiguo 25/11/2004, 13:55
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Ok, busca en los post anteriores (y varios con esta información), y si aún no encuentras la solución preguntas en este mismo post.

Saludos
  #3 (permalink)  
Antiguo 25/11/2004, 15:23
Avatar de jUaN_  
Fecha de Ingreso: septiembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 220
Antigüedad: 21 años, 9 meses
Puntos: 0
te copio un ejemplo del mismo

'<------------- Insertar por parametros los datos en remedy-------------------->
Set strConection = Server.CreateObject("ADODB.Connection")
strConection = "DRIVER={SQL Server}; SERVER=sdbuetycau01; DATABASE=Arsystem; UID=webuser; PWD=1234567"
set cmdInsertOpinion = Server.CreateObject("ADODB.Command")
cmdInsertOpinion.ActiveConnection = strConection
cmdInsertOpinion.CommandText = "SP_NewRemedyTicket"
cmdInsertOpinion.CommandType = 4
cmdInsertOpinion.CommandTimeout = 0
cmdInsertOpinion.Prepared = true
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Fecha_Hora_Llam ada", 135, 1, 20,Now())
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@grupo", 200, 1, 15,"CAU LLAMADAS")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@abierta_por", 200, 1, 10, "YP00448")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@usuario", 200, 1,10,request.form("id"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@descripcion", 200, 1,255,request.form("descripcion"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Tipo_servicio", 200, 1,15,request.form("tipo_servicio"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@servicio", 200, 1,15,request.form("servicio"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Estado", 2, 1, 1, "0")
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@Asignada_a", 200, 1,15,request.form("resolucion"))
cmdInsertOpinion.Parameters.Append cmdInsertOpinion.CreateParameter("@ip", 200, 1,12,request.ServerVariables("remote_addr"))
cmdInsertOpinion.Execute()
__________________
<% Viru %>
  #4 (permalink)  
Antiguo 25/11/2004, 16:01
 
Fecha de Ingreso: marzo-2004
Mensajes: 23
Antigüedad: 20 años, 2 meses
Puntos: 0
disculpen, creo que no me explique bien o lo más seguro es que no le haya entendido a su código...

mi intención es llamar un SP, con variables definidas como lo que es nombre del server y un parametro @X, lo único que deseo, es poder llamar a ese SP con una simple liga, por ejemplo.

transferir tableros de control (esta es una link que debería de llamar a un procedimiento llama sp_transferirtableros)

quiza no me explico bien...?
saludos...! y gracias por contestar el correo...!
  #5 (permalink)  
Antiguo 25/11/2004, 17:31
 
Fecha de Ingreso: marzo-2004
Mensajes: 23
Antigüedad: 20 años, 2 meses
Puntos: 0
Cita:
Iniciado por Myakire
Ok, busca en los post anteriores (y varios con esta información), y si aún no encuentras la solución preguntas en este mismo post.

Saludos
Pues no amigo, ya busque en los posts anteriores parecidos a este tema y pues desgraciadamente no he encontrado la solución :(, agredecría mucho tu ayuda.

Saludos..!
  #6 (permalink)  
Antiguo 26/11/2004, 09:26
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues si, si hay varios ejemplos en los post anteriores, ya que lo que quieres es llamar a un SP con parámetros ¿o no?

Tu liga transferir tableros de control debe llamar a un archivo .ASP que ejecute un código como el que Juan te ha puesto. En dicho código, él ejecuta un SP llamado SP_NewRemedyTicket con 10 parámetros, todos inicializados con un valor. Aquí el chiste es entender el objeto ADODB.Command. Aunque igual puedes no necesitarlo e invocarlo mediante un objConn.Execute "Exec SP param1, param2".
  #7 (permalink)  
Antiguo 26/11/2004, 09:49
 
Fecha de Ingreso: marzo-2004
Mensajes: 23
Antigüedad: 20 años, 2 meses
Puntos: 0
Cita:
Iniciado por Myakire
Pues si, si hay varios ejemplos en los post anteriores, ya que lo que quieres es llamar a un SP con parámetros ¿o no?

Tu liga transferir tableros de control debe llamar a un archivo .ASP que ejecute un código como el que Juan te ha puesto. En dicho código, él ejecuta un SP llamado SP_NewRemedyTicket con 10 parámetros, todos inicializados con un valor. Aquí el chiste es entender el objeto ADODB.Command. Aunque igual puedes no necesitarlo e invocarlo mediante un objConn.Execute "Exec SP param1, param2".

Muchisimas gracias Myakire, la verdad es que tu y Juan me han sacado del apuro...

de nuevo gracias...!
Saludos....
  #8 (permalink)  
Antiguo 26/11/2004, 14:16
Avatar de jUaN_  
Fecha de Ingreso: septiembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 220
Antigüedad: 21 años, 9 meses
Puntos: 0
mira si queres te pasa de uno mas facil de tipear

'Creamos la conexion...
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open = "DRIVER={SQL Server}; SERVER=sdbuetycau01; DATABASE=Arsystem; UID=webuser; PWD=1234567"
'Separar los parámetros con coma (,)
oConn.Execute = "EXEC SP_NewRemedyTicket '" & tiempo & "', '" & grupo & "', '" & abierto & "', '" & id & "', '" & descripcion & "', '" & tipo_servicio & "', '" & servicio & "', '" & estado & "', '" & resolucion & "', '" & dir_ip & "'"


oConn.Close
Set oConn = Nothing

pero de esta forma no podes recuperar el valor de la tabla que insertas
__________________
<% Viru %>
  #9 (permalink)  
Antiguo 26/11/2004, 16:11
 
Fecha de Ingreso: marzo-2004
Mensajes: 23
Antigüedad: 20 años, 2 meses
Puntos: 0
Cita:
Iniciado por jUaN_
mira si queres te pasa de uno mas facil de tipear

'Creamos la conexion...
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open = "DRIVER={SQL Server}; SERVER=sdbuetycau01; DATABASE=Arsystem; UID=webuser; PWD=1234567"
'Separar los parámetros con coma (,)
oConn.Execute = "EXEC SP_NewRemedyTicket '" & tiempo & "', '" & grupo & "', '" & abierto & "', '" & id & "', '" & descripcion & "', '" & tipo_servicio & "', '" & servicio & "', '" & estado & "', '" & resolucion & "', '" & dir_ip & "'"


oConn.Close
Set oConn = Nothing

pero de esta forma no podes recuperar el valor de la tabla que insertas
ASi es pero no importa, yo solo buscaba darle parametros, no recuperarlos...

Gracias..
  #10 (permalink)  
Antiguo 29/11/2004, 08:24
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Aun que el post ya esta resulto, solo apunto que la forma anterior no recupera parámetros (parámetros de salida), también le manda valores a los parámetros aunque sin poder controlar el tipo o la longitud.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.