Ich denke, es sollte dieser sein:
With cmd
.Properties("PLSQLRSet") = TRUE
.ActiveConnection = conn
.CommandType = adCmdText
.CommandText = "{call their_package.get_product(?,?)}"
.NamedParameters = True
.Parameters.Append cmd.CreateParameter("rptid", adNumeric, adParamInput, 0, 98)
.Parameters.Append cmd.CreateParameter("scenario", adVarChar, adParamInput, 4, "decline001")
End With
...
Set rs = cmd.Execute
cmd.Properties("PLSQLRSet") = FALSE
Hinweis: Obwohl their_package.get_product() drei Parameter akzeptiert, müssen nur zwei gebunden werden, da Ref-Cursor-Parameter automatisch vom Anbieter gebunden werden.
Weitere Informationen finden Sie in der Oracle-Dokumentation:Oracle Provider for OLE DB-Entwicklerhandbuch – „Using OraOLEDB with Visual Basic“