Oracle:使用Out参数调用SP

时间:2018-12-06 14:45:05

标签: oracle delphi

首先,我对Oracle的了解非常有限。

我已经使用Oracle继承了一个大型的Delphi项目,该项目已升级到Oracle Cloud。现在我在调用存储过程时遇到了一些问题:

让我们以SP开头(放在包装中)

PROCEDURE GetAccessObjects(AAccessObjects OUT CURSOR_TYPE);

然后输入Delphi代码:

procedure TDBApi.GetAccessObjects(var ResultSet: TADOStoredProc);
var
  SP: TDbStoredProc;
begin
  SP := CreateStoredProc(SQLPackage + 'GetAccessObjects');
  try
    SP.MaxRecords := mrAll;
    SP.Open;
    ResultSet := SP;
  except
    SP.Free;
    raise;
  end;
end;

执行Delphi代码时出现错误

  

PLS-00306:调用时参数的数量或类型错误   “ GETACCESSOBJECTS”

然后从SQL Developer(exec DDK.GetAccessObjects())调用SP,我得到相同的错误。

我可以阅读并理解以下错误消息:缺少参数。但是令我震惊的是,这段代码已经运行了多年。至少5。

我至少有10个带有此“问题”的SP,因此这不是一个简单的错字。

因此,简而言之,我如何从这里继续前进? 我怎么称呼这个SP? 我可以设置某种全局设置,这样就不必传递此参数了吗?

0 个答案:

没有答案