Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Klassisches ASP, das gespeicherte Oracle-Prozeduren mit dem OraOleadb-Treiber aufruft

Laut dieser Seite , Parametertyp adVariant (z. B. 12) wird von ADO nicht unterstützt.

Sie sollten Konstanten verwenden, um Ihren Code besser lesbar zu machen, z.

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)

Versuchen Sie es vielleicht mal mit diesem hier:

cmd.CommandType = adCmdText
cmd.CommandText = "{CALL deadlines_summary.PR_SUMMARY_IN(?,?,?,?,?,?,?)}"

Numerische Parameter erfordern keinen Größenwert.

Sie sollten auch versuchen, den Parametertyp adDate zu verwenden anstatt die Daten in Zeichenfolgenwerte umzuwandeln.

Sie müssen die Anführungszeichen entfernen, wenn Sie den Bind-Parameter verwenden, d. h. verwenden Sie einfach theSubmittedDt = submitted_date statt theSubmittedDt = "'" & submitted_date & "'" .