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

Wywołaj procedurę składowaną Oracle z VBA za pomocą refcursora

Przypadkowo znalazłem rozwiązanie. Jeśli nie zdefiniuję parametru ref_cursor, to działa.

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

To działa, najwyraźniej specyfikacja ref_cursor nie jest potrzebna i dzieje się domyślnie :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekazać cały wiersz (w SQL, nie PL/SQL) do funkcji przechowywanej?

  2. Znajdź najbardziej potomny węzeł rodzica (dowolny poziom) w Oracle

  3. Oracle uzyskuje wartość sumy kontrolnej dla porcji danych zdefiniowanej przez klauzulę select

  4. 12c Przestarzałe funkcje

  5. Pobieranie wiadomości ze skrzynki pocztowej za pomocą interfejsu API Mail_Client PL/SQL