Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Klasyczna ASP wywołująca procedurę składowaną Oracle ze sterownikiem OraOleadb

Według tej strony , typ parametru adVariant (tj. 12) nie jest obsługiwane przez ADO.

Powinieneś używać stałych, aby twój kod był bardziej czytelny, np.

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)

Może spróbuj tego:

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

Parametry numeryczne nie wymagają wartości rozmiaru.

Powinieneś również spróbować użyć typu parametru adDate zamiast konwertować daty na wartości ciągów.

Musisz usunąć cudzysłowy, gdy używasz parametru bind, tj. użyj po prostu theSubmittedDt = submitted_date zamiast theSubmittedDt = "'" & submitted_date & "'" .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Otrzymuję błąd ORA - 00907 w następujących miejscach w dniu ON UPDATE

  2. jak zmienić datę na godzinę w Oracle 10g

  3. MySQL odpowiednik Oracle SEQUENCE.NEXTVAL

  4. jak uzyskać czas w milisekundach z pola daty wyroczni dla daty 01-01-9999

  5. Podstawowa tabela audytu wyzwalaczy Oracle