2015-04-01 82 views
0

存儲過程是使用實體框架執行oracle的存儲過程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

你的過程有兩個參數('RECORD_DATE'和'pcr'),但你只能用一個參數調用它:'recordDate' - 添加第二個參數並且... Bazinga – Alexander 2015-04-01 08:08:33

回答

0

有幾個問題:

  1. 被調用的過程需要兩個參數,但只有一個已經提供。呼叫中應給出第二個參數的變量。
  2. 這是一個被調用的過程。過程不會返回值,但是您已將該調用編碼爲正在調用某個函數。

通話大概應該是這樣的

db.GETCORPORATEACTION(recordDate, CorporateActions); 

分享和享受。