sql >> Database >  >> RDS >> Oracle

Roep Oracle opgeslagen procedure met VBA met behulp van een refcursor

Ik heb per ongeluk een oplossing gevonden. Als ik de parameter ref_cursor niet definieer, werkt het.

cmd.CommandText = "testproc"
cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
Set param1 = cmd.CreateParameter("articlenr", adInteger, adParamInput, , 47)
Set param2 = cmd.CreateParameter("storenr", adInteger, adParamInput, , 281)
Set param3 = cmd.CreateParameter("cweek", adVarChar, adParamInput, 10, "201705")

'Next line not needed
'Set param4 = cmd.CreateParameter("prc", adVariant, adParamOutput, , Null)

cmd.Parameters.Append param1
cmd.Parameters.Append param2
cmd.Parameters.Append param3

'Next line not needed
'cmd.Parameters.Append param4

Set rs = cmd.Execute

Dit werkt, blijkbaar is de ref_cursor-specificatie niet nodig en gebeurt dit standaard :)



  1. CREATE TABLE in SQL - Alles wat u moet weten over het maken van tabellen in SQL

  2. Oracle SQL voorwaardelijke rangschikking

  3. Een tabel verwijderen in PostgreSQL zonder een bijbehorende reeks te verwijderen

  4. Schema gekwalificeerde tabellen met SQLAlchemy, SQLite en Postgresql?