sql >> Databáze >  >> RDS >> Oracle

Volejte uloženou proceduru Oracle s VBA pomocí rekurzoru

Řešení jsem našel náhodou. Pokud nedefinuji parametr ref_cursor, funguje to.

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

Funguje to, očividně specifikace ref_cursor není potřeba a děje se to standardně :)



  1. Instalace Oracle Grid – chybějící balíčky compat-libcap1-1.10 a další

  2. mysql:zobrazit všechna otevřená připojení k dané databázi?

  3. Bezpečnost vlákna MySQL Select Last_Insert_ID

  4. Vyžaduje MySQL InnoDB vždy index pro každé omezení cizího klíče?