質問が重複していたらすみません。私のソリューションには、コンソール アプリケーションと MVC4 Web サイトの 2 つのプロジェクトがあります。Oracle データベース 11g にアクセスするために Oracle マネージド ドライバを使用しています。次のストアド プロシージャからデータを取得しようとしています。
create or replace procedure "GETEMPIDS"
(
p_cursor OUT SYS_REFCURSOR
)
is
begin
OPEN p_cursor FOR
select *
from EMP;
end;
コンソール アプリケーションでエンティティやその他のものを作成した後、次のようにしてデータを取得します。
public List<GETEMPIDS_Result> GetAllEmployees()
{
Entities db = new Entities();
List<GETEMPIDS_Result> result = db.GETEMPIDS().ToList<GETEMPIDS_Result>();
return result;
}
このコンソール アプリケーションの参照を Web サイトに追加しましたが、コントローラーで上記のメソッドを呼び出すと、例外が発生します。
"ORA-06550: line 1, column 8:\nPLS-00306: wrong number or types of arguments in call to 'GETEMPIDS'\nORA-06550: line 1, column 8:\nPL/SQL: Statement ignored"}
コンテキストクラスの次の行で
public virtual System.Data.Entity.Core.Objects.ObjectResult<GETEMPIDS_Result> GETEMPIDS()
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GETEMPIDS_Result>("GETEMPIDS");
}
足りないものはありますか?