Oracle
 sql >> Database >  >> RDS >> Oracle

PL/SQL stored procedure fuori cursore su VBA ADODB.RecordSet?

Penso che dovrebbe essere questo:

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

Nota: Anche se their_package.get_product() accetta tre parametri, solo due devono essere vincolati perché i parametri del cursore Ref sono automaticamente vincolati dal provider.

Per ulteriori informazioni, controlla la documentazione di Oracle:Provider Oracle per OLE DB Developer's Guide - "Utilizzo di OraOLEDB con Visual Basic"