sql >> Databáze >  >> RDS >> Oracle

Jak vrátit Oracle Cursor z uloženého proc jako Client Dataset pomocí Delphi a DBExpress

Jak je zmíněn paulsm4 v this answer , Delphi se nestará o získání deskriptorů parametrů uložené procedury, takže to musíte udělat sami. Chcete-li získat parametry uložené procedury Oracle z balíčku, můžete zkusit použít GetProcedureParams metoda k vyplnění seznamu popisovači parametrů a pomocí LoadParamListItems postup vyplňte tímto seznamem Params sbírka. V kódu to může vypadat následovně.

Vezměte prosím na vědomí, že následující kód byl napsán pouze v prohlížeči podle dokumentace, takže je netestovaný. A ano, o uvolnění ProcParams proměnnou, to provede FreeProcParams postup:

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;


  1. Jak mohu použít datový typ data na serveru SQL?

  2. Jak bezpečně ukládat soubory na server

  3. Chyba synchronizace příkazů PHP

  4. Připojte se ke stolu v Symfony 2