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

Ejecutar SP

Estas en el tema de Ejecutar SP en el foro de ASP Clásico en Foros del Web. Hola Alguien me pudiera pasar o decir donde encuentro un dll que me ejecute Store Procedure, yo tengo uno pero no me funciona. Saludos...
  #1 (permalink)  
Antiguo 15/07/2002, 10:35
 
Fecha de Ingreso: julio-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Ejecutar SP

Hola
Alguien me pudiera pasar o decir donde encuentro un dll que me ejecute Store Procedure, yo tengo uno pero no me funciona.
Saludos
  #2 (permalink)  
Antiguo 15/07/2002, 10:39
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Ejecutar SP

mandame lo que quieres rescatar y yo te mando un ej. de asp+dll+sp
  #3 (permalink)  
Antiguo 15/07/2002, 10:44
 
Fecha de Ingreso: julio-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Ejecutar SP

Quisiera mandar llamar un dll que me ejecute un sp y me regrese un recordset o que solo me regrese el numero de campos afectados
Gracias por responder
  #4 (permalink)  
Antiguo 15/07/2002, 11:07
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Ejecutar SP

me imagino que ya sabes como crear una dll y compilarla..
bueno ahi va:

CODIGO ASP

Código:
  
Dim objSP
Dim rs
Set objSP = Server.CreateObject("Dll_sp.Recorset") 
Set rs = objSP.Rescatar()
while not rs.eof
response.write rs.fields("campo1")&"<br>"
response.write rs.fields("campo2")
..
..
..
rs.movenext
wend
CODIGO DLL
Código:
  
Public Function Rescatar() As Recordset

Dim ConnectionString As String
Dim strsql As String
Dim rs As Recordset

ConnectionString="TU_DSN"

Set rs = CreateObject("ADODB.Recordset")
strsql = "exec  tu_sp"
rs.Open strsql, ConnectionString, adOpenForwardOnly

Set Rescatar = rs
              
End Function

lo unico ke falta es ligar tu sp y listo..

;)
  #5 (permalink)  
Antiguo 15/07/2002, 11:23
 
Fecha de Ingreso: julio-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Ejecutar SP

Mi problema es que los SP necesitan parametros y esos se los quisiera mandar desde mi ASP y no siempre es la misma cantidad de parametros ejem.
ejecutar spAltas con 4 parametros, en otra opereacion ejecutar spBajas con 1 parametro etc...yo tengo este dll pero me marca el sig error

"Procedure 'spProject' expects parameter '@Param', which was not supplied."

Public Function ExecSQL(spName As String, ParamArray Param() As Variant) As ADODB.Recordset

Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim pmt As ADODB.Parameter
Dim LcnConn As ADODB.Connection
Dim i As Long

On Error GoTo ErrHandler

Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
Set LcnConn = New ADODB.Connection
LcnConn.CursorLocation = adUseClient
LcnConn.Open MsConnectionStr

i = 0
With cmd
.ActiveConnection = LcnConn
.CommandType = adCmdStoredProc
.CommandText = "[" & spName & "]"
For Each pmt In .Parameters
pmt.Value = Param(i)
i = i + 1
Next
End With

With rs
.CursorLocation = adUseClient
.Open cmd, , adOpenStatic
Set cmd.ActiveConnection = Nothing
Set cmd = Nothing
Set .ActiveConnection = Nothing
End With

Set ExecSQL = rs
Exit Function

ErrHandler:
'Codigo para manejar el error

End Function
  #6 (permalink)  
Antiguo 15/07/2002, 11:30
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Ejecutar SP

hhmmm...

si quieres parametrizar la cantidad de parametros segun la consulta por lo menos yo nunca lo he hecho...

las veces que he tenido que llamar a un sp con diferentes cantidad de parametros he realizado una nueva funcion...

si no te sirva pucha lamentable...pero no he probado lo que tu quieres hacer

Código:
  
Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim params As ADODB.Parameters
Dim param As ADODB.Parameter

Set cn = New ADODB.Connection
Set cmd = New ADODB.Command

cn.ConnectionString = strConnectionString
cn.Open


With cmd
    Set .ActiveConnection = cn
    .CommandText = "sp"
    .CommandType = adCmdStoredProc
    Set params = .Parameters
End With
    params.Append cmd.CreateParameter("@strvar1", adVarChar, adParamInput, 4)
    params.Append cmd.CreateParameter("@strvar2", adVarChar, adParamInput, 5)
    params.Append cmd.CreateParameter("@strvar3", adVarChar, adParamInput, 5)
    params.Append cmd.CreateParameter("@intvar4", adInteger, adParamInput, 1)
    params.Append cmd.CreateParameter("@strsalida", adVarChar, adParamOutput, 3)

    params("@strvar1") = var1
    params("@strvar2") = var2
    params("@strvar3") = var3
    params("@intvar4") = var4

    cmd.Execute , , adExecuteNoRecords
    
    Funcion = params("@strsalida")
  #7 (permalink)  
Antiguo 15/07/2002, 12:49
 
Fecha de Ingreso: julio-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Ejecutar SP

bakanzipp
yo creo que mi error esta al momento de asignarle los parametros al command no se si la sintaxis sea la correcta me podrias ayudar con eso? no si la asignacion del valor al parametro es la correcta, creo que en el "For each ptm in .Parameters" en lugar de .Parameters deberia de llevar Param() pero me marca un error en ptm si hago esto
  #8 (permalink)  
Antiguo 15/07/2002, 14:02
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Ejecutar SP

es ke este for each esta bien raro

For Each pmt In .Parameters


par empezar no se que es lo le estas pasando a la coleccion y al llenarla le asignas un .value... propiedad que no existe al usar el params.append....

a ver..enviame por ultimo loq ue tienen las colecciones...sus valores
  #9 (permalink)  
Antiguo 15/07/2002, 14:27
 
Fecha de Ingreso: agosto-2001
Mensajes: 49
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Ejecutar SP

con esto podrias resolver tu problema http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174981 o esta otra http://www.vbip.com/books/1861003927/chapter_3927_16.asp

yo realize una especia de caja negra en oracle y es epectacular (Regalito)...
Saludos
  #10 (permalink)  
Antiguo 15/07/2002, 14:51
 
Fecha de Ingreso: mayo-2002
Mensajes: 83
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Ejecutar SP

Muy buenos Links
gracias por compartirlos...
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 01:09.