Hola
Alguien me pudiera pasar o decir donde encuentro un dll que me ejecute Store Procedure, yo tengo uno pero no me funciona.
Saludos
| |||
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 |
| ||||
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") |
| |||
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 |
| ||||
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 |
| |||
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 |