Myślę, że powinien to być ten:
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
Uwaga: Chociaż their_package.get_product() przyjmuje trzy parametry, tylko dwa muszą być powiązane, ponieważ parametry kursora Ref są automatycznie wiązane przez dostawcę.
Więcej informacji można znaleźć w dokumentacji Oracle:Dostawca Oracle dla OLE Przewodnik programisty DB — „Korzystanie z OraOLEDB z Visual Basic”