使用实体框架调用Oracle存储过程VANCE_TEST,得到PLS-00302:component';万斯测试&x27;必须申报

使用实体框架调用Oracle存储过程VANCE_TEST,得到PLS-00302:component';万斯测试&x27;必须申报,oracle,stored-procedures,entity-framework-4,Oracle,Stored Procedures,Entity Framework 4,我已经通过了所有类似的问题,我已经能够找到这个没有成功 在VisualStudio2010中,我正在创建一个调用Oracle存储过程的MVCWeb应用程序。我甚至无法调用一个非常简单的存储过程。这是一个简单的存储过程: CREATE OR REPLACE PROCEDURE VANCE_TEST ( PARTNERS OUT sys_refcursor ) AS BEGIN OPEN PARTNERS FOR SELECT COMPANY_NAME, SUN FROM PARTNER WHE

我已经通过了所有类似的问题,我已经能够找到这个没有成功

在VisualStudio2010中,我正在创建一个调用Oracle存储过程的MVCWeb应用程序。我甚至无法调用一个非常简单的存储过程。这是一个简单的存储过程:

CREATE OR REPLACE PROCEDURE VANCE_TEST ( PARTNERS OUT sys_refcursor ) AS
BEGIN
  OPEN PARTNERS FOR SELECT COMPANY_NAME, SUN FROM PARTNER WHERE MARKET_IDX = 16;
END;
/
两列都是Varchar2类型。当我从SQL*Plus调用该过程时,使用以下代码可以正常工作:

var rc refcursor
execute VANCE_TEST( :rc );
print rc;
在我的web.config文件中,我有以下规范来定义存储过程的游标:

  <oracle.dataaccess.client>
    <settings>
      <add name="PARTNER.VANCE_TEST.RefCursor.PARTNERS" value="implicitRefCursor bindinfo='mode=Output'" />
      <add name="PARTNER.VANCE_TEST.RefCursorMetaData.PARTNERS.Column.0" value="implicitRefCursor metadata='ColumnName=COMPANY_NAME;BaseSchemaName=PARTNER;BaseTableName=PARTNER;NativeDataType=Varchar2;ProviderType=Varchar2;ProviderDBType=String;DataType=System.String;ColumnSize=100;AllowDBNull=true'" />
      <add name="PARTNER.VANCE_TEST.RefCursorMetaData.PARTNERS.Column.1" value="implicitRefCursor metadata='ColumnName=SUN;BaseSchemaName=PARTNER;BaseTableName=PARTNER;NativeDataType=Varchar2;ProviderType=Varchar2;ProviderDBType=String;DataType=System.String;ColumnSize=10;AllowDBNull=true'" />
    </settings>
  </oracle.dataaccess.client>
关于这里发生的事有什么提示吗?或者,我如何获得正在发送的实际SQL代码?我试图从另一篇Stackoverflow文章中学习,并在他们解决问题后尽可能多地学习:


提前感谢您对此提供的帮助。

您是否作为用户合作伙伴连接到数据库?如果没有,那么这可能会有所帮助

return base.ExecuteFunction<VANCE_TEST_Result>("PARTNER.VANCE_TEST");
返回base.ExecuteFunction(“PARTNER.VANCE_TEST”);

谢谢,但我正在以合作伙伴的身份进行连接,这不起作用。
public ObjectResult<VANCE_TEST_Result> VANCE_TEST()
{
    return base.ExecuteFunction<VANCE_TEST_Result>("VANCE_TEST");
}
ORA-06550: line 1, column 17: 
PLS-00302: component 'VANCE_TEST' must be declared 
ORA-06550: line 1, column 7: 
PL/SQL: Statement ignored
return base.ExecuteFunction<VANCE_TEST_Result>("PARTNER.VANCE_TEST");