De acordo com esta página , tipo de parâmetro
adVariant
(ou seja, 12) não é suportado pelo ADO. Você deve usar constantes para tornar seu código mais legível, por exemplo.
Const adUseClient = 3
Const adOpenStatic = 3
Const adCmdText = 1
Const adCmdStoredProc = 4
Const adVarChar = 200
Const adNumeric = 131
Const adChar = 129
Const adBigInt = 20
Const adInteger = 3
Const adParamInput = 1
Const adParamOutput = 2
Const adParamInputOutput = 3
Const adParamReturnValue = 4
cmd.Parameters.Append cmd.CreateParameter("theAccountId", adVarChar, adParamInput, , Request.Form ("aid"))
cmd.Parameters.Append cmd.CreateParameter("theAwardId", adNumeric, adParamInput, , award_id)
cmd.Parameters.Append cmd.CreateParameter("theDueDate", adVarChar, adParamInput, 100, theDueDt)
cmd.Parameters.Append cmd.CreateParameter("theSubmittedDate", adVarChar, adParamInput, 100, theSubmittedDt)
cmd.Parameters.Append cmd.CreateParameter("theReportDescription", adVarChar, adParamInput, 100, theReportDesc)
cmd.Parameters.Append cmd.CreateParameter("theFormId", adVarChar, adParamInput, 100, theFrmId)
cmd.Parameters.Append cmd.CreateParameter("theReturnCode", adNumeric, adParamOutput)
Talvez tente este:
cmd.CommandType = adCmdText
cmd.CommandText = "{CALL deadlines_summary.PR_SUMMARY_IN(?,?,?,?,?,?,?)}"
Os parâmetros numéricos não requerem um valor de tamanho.
Você também deve tentar usar o tipo de parâmetro
adDate
em vez de converter as datas em valores de string. Você deve remover as aspas quando usar o parâmetro bind, ou seja, use simplesmente
theSubmittedDt = submitted_date
em vez de theSubmittedDt = "'" & submitted_date & "'"
.