Como paulsm4 mencionó en this answer
, a Delphi no le importa obtener descriptores de parámetros de procedimientos almacenados, por lo que debe hacerlo usted mismo. Para obtener parámetros del procedimiento almacenado de Oracle de un paquete, puede intentar usar el GetProcedureParams
método para llenar la lista con descriptores de parámetros y con el LoadParamListItems
procedimiento llenar con esa lista Params
recopilación. En el código podría tener el siguiente aspecto.
Tenga en cuenta que el siguiente código se escribió solo en el navegador de acuerdo con la documentación, por lo que no se ha probado. Y sí, sobre liberar ProcParams
variable, esto lo hace la FreeProcParams
procedimiento:
var
ProcParams: TList;
StoredProc: TSQLStoredProc;
...
begin
...
StoredProc.PackageName := 'KP_DATASNAPTEST';
StoredProc.StoredProcName := 'GetFaxData';
ProcParams := TList.Create;
try
GetProcedureParams('GetFaxData', 'KP_DATASNAPTEST', ProcParams);
LoadParamListItems(StoredProc.Params, ProcParams);
StoredProc.ParamByName('abbr').AsString := 'ZZZTOP';
StoredProc.Open;
finally
FreeProcParams(ProcParams);
end;
...
end;