MySQL - Dura con procedimientos alamecenados

 
Vista:

Dura con procedimientos alamecenados

Publicado por Jc (6 intervenciones) el 25/10/2006 23:31:06
Resolví la consulta que hice en este foro hace un par de dias atrás, con respecto a la ejecución de un procedimiento almacenado desde la web.
El procedimiento lo ejecuto directamente gracias al objeto command de la siguiente forma:
(Asi lo tengo en mi web y funciona)

set cntion = Server.CreateObject("ADODB.Connection")
cntion.Open ("DRIVER={MySQL ODBC 3.51 Driver};SERVER=nt-chong;DATABASE=uaf_dbo;USER=uaf;PASSWORD=abc123;OPTION=3;")

sSql = " CALL SP_INSERT_USUARIOS(" & intIdInstitucion & "," _
& IdUser & "," _
& """" & strRutUser & """," _
& """" & strDigUser & """," _
& """" & strNombreUser & """," _
& """" & strPaternoUser & """," _
& """" & strMaternoUser & """," _
& """" & strFonoUser & """," _
& """" & strEmailUser & """," _
& intCargoUser & "," _
& intTipoUser & ")

Todo bien hasta ahi. Los datos que paso dentro de cada variable, se reciben sin problemas en el procedimiento almacenado, el que a su vez, los gestiona correctamente.
Surgió una nueva necesidad, que me obliga a usar parametros de salida en el procedimiento y usar el objeto command.

On error resume next
Dim Cmd
set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = cntion
Cmd.CommandType = adCmdStoredProc
'Cmd.CommandType = adCmdText
Cmd.CommandText = "SP_INSERT_USUARIOS "
Cmd.Prepared = True

'El número de Identificación
Cmd.Parameters.Append(Cmd.CreateParameter("parIdInstitucion", adInteger, adParamInput, 6, intIdInstitucion))
Cmd.Parameters.Append(Cmd.CreateParameter("parIdUsuario", adInteger, adParamInput, 6, IdUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parRut", adVarChar, adParamInput,10, strRutUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parDigito", adVarChar, adParamInput, 1, strDigUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parNombre", adVarChar, adParamInput,50, strNombreUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parPaterno", adVarChar, adParamInput,50, strPaternoUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parMaterno", adVarChar, adParamInput,50, strMaternoUser))
Cmd.Parameters.Append(Cmd.CreateParameter("parTelefono", adVarChar, adParamInput,20, strFonoUser ))
Cmd.Parameters.Append(Cmd.CreateParameter("parEmail", adVarChar, adParamInput,30, strEmailUser ))
Cmd.Parameters.Append(Cmd.CreateParameter("parCargo", adInteger, adParamInput, 6, intCargoUser ))
Cmd.Parameters.Append(Cmd.CreateParameter("parId_Perfil", adInteger, adParamInput, 6, intTipoUser ))
Cmd.Parameters.Append(Cmd.CreateParameter("parNuevoId", adInteger, adParamOutput,6))

Cmd.Execute()

Al ejecutar, el sistema me entrga un error diciendome que algunos paràmetros van sin valor, mostrandome una cadena (la del la query que debiera pasarse), truncada...

Creo que el problema es que la cadena excede el largo permitido como argumento..
Si es esto o cualquier otra cosa, se agradecerá la ayuda !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder