使用实体框架5执行oracle存储过程

时间:2015-04-01 08:04:05

标签: oracle entity-framework-5

存储过程

create or replace PROCEDURE GETCORPORATEACTION(
RECORD_DATE IN date,
prc out sys_refcursor
)
AS
BEGIN
OPEN prc FOR SELECT *
FROM HR.CORPORATEACTION
where RECORDDATE = RECORD_DATE;
END;

使用EF调用SP:

var CorporateActions = db.GETCORPORATEACTION(recordDate);
  

错误是消息=" ORA-06550:第1行,第8列:\ nPLS-00306:错误   调用的参数的数量或类型   ' GETCORPORATEACTION' \ nORA-06550:第1行第8列:\ nPL / SQL:声明   忽略"

请有人建议我如何摆脱这个问题。谢谢你。

1 个答案:

答案 0 :(得分:0)

有几个问题:

  1. 被调用的过程有两个参数,但只提供了一个。应在调用中给出第二个参数的变量。
  2. 这是一个被调用的程序。过程不返回值,但您已将调用编码为正在调用函数。
  3. 呼叫应该类似于

    db.GETCORPORATEACTION(recordDate, CorporateActions);
    

    分享并享受。