Alla linea 23 (quella in rosso), mi viene restituito il seguente messaggio di errore:

"L'oggetto Parameter non è stato definito correttamente. Le informazioni fornite sono incoerenti o incomplete"

Cosa sbaglio? :master:

Ecco il codice:
codice:
<%
Dim oConn, mCommandSP, codSocieta, annoMeseRif, residuo, esito

'Recupero i parametri
codSocieta = Session("codSocieta")
annoMeseRif = Trim(Request.form("periodoRif"))
residuo = Trim(Request.form("residuo"))

set oConn = Server.CreateObject ("ADODB.CONNECTION")
oConn.Open Session("sqlTRConn")

'Invoco la ciamata alla funzione di caricamento dati da SIAL
Set mCommandSP = Server.CreateObject("ADODB.Command")
Set mCommandSP.ActiveConnection = oConn

mCommandSP.CommandText = "{? = CALL tkt_carica_ticket_ras(?,?,?,?) }"
mCommandSP.CommandType = adCmdText

mCommandSP.Parameters.Append mCommandSP.CreateParameter("Retval", adInteger, adParamReturnValue)
mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_Soc_Codice",adChar,adParamInput)   
mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_AnnoMese_Rif",adChar,adParamInput)
mCommandSP.Parameters.Append mCommandSP.CreateParameter("I_CalcolaResiduo",adChar,adParamInput)
mCommandSP.Parameters.Append mCommandSP.CreateParameter("O_MESSAGGIO",adVarChar,adParamOutput)

mCommandSP("I_Soc_Codice") = codSocieta
mCommandSP("I_AnnoMese_Rif") = annoMeseRif
mCommandSP("I_CalcolaResiduo") = residuo

response.Write("Sono qui --> Tutto ok")
response.end

mCommandSP.Execute

'Gestione degli esiti ritornati dalla funzione
Select case (Cstr(mCommandSP.Parameters("O_MESSAGGIO").Value))
End Select

%>