Oracle11g 调用Oracle过程时出错

Oracle11g 调用Oracle过程时出错,oracle11g,coldfusion-2016,Oracle11g,Coldfusion 2016,我正在调用ColdFusion2016中用Oracle 11g编写的过程。我从昨天开始一直在调试,但未成功,非常感谢您的帮助。我不知道这个错误是由我的oracle过程还是Coldfusion引起的,所以我从我的oracle sql开发人员那里调用了这个过程进行了一些测试: variable x refcursor; variable y varchar2(200); variable z varchar2(200); exec um_check_alloc_bene_loadv2(v_sessi

我正在调用ColdFusion2016中用Oracle 11g编写的过程。我从昨天开始一直在调试,但未成功,非常感谢您的帮助。我不知道这个错误是由我的oracle过程还是Coldfusion引起的,所以我从我的oracle sql开发人员那里调用了这个过程进行了一些测试:

variable x refcursor;
variable y varchar2(200);
variable z varchar2(200);
exec um_check_alloc_bene_loadv2(v_session_id => 1, v_summary => :y, v_continue => :z, cv_1 => :x );
print x;
print y;
print z;
这会给我带来一些结果。因此,我的假设是错误一定是由ColdFusion调用引起的。但我看不出我的电话有什么问题:

        <cfstoredproc procedure="um_check_alloc_bene_loadV2" datasource="#Trim(TESTDB)#">
          <cfprocparam type="in" cfsqltype="cf_SQL_INTEGER" variable="session_id" value="#Trim(max_session_id)#" MAXLENGTH="4">
          <cfprocparam type="out" cfsqltype="CF_SQL_VARCHAR" variable="summary" value="">
          <cfprocparam type="out" cfsqltype="CF_SQL_VARCHAR" variable="continue" value="">
        <cfprocresult name="errors" resultset="1">
        </cfstoredproc>
当我从ColdFusion调用这个过程时,我得到了一个我无法理解的错误:

Error Executing Database Query.
[Macromedia][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 
'UM_CHECK_ALLOC_BENE_LOADV2' ORA-06550: line 1, column 7: PL/SQL: Statement 
ignored
........................................
138 :             <cfprocparam type="out" cfsqltype="CF_SQL_VARCHAR" 
variable="summary" value="">
139 :             <cfprocparam type="out" cfsqltype="CF_SQL_VARCHAR" 
variable="continue" value="">
140 :           <cfprocresult name="errors" resultset="1">
141 :           </cfstoredproc>
142 :           <table align="center" width="90%">

SQLSTATE      HY000
DATASOURCE    TESTDB
VENDORERRORCODE   6550
SQL   {call um_check_alloc_bene_loadV2( (param 1) , (param 2) , (param 3) )}
Resources:
执行数据库查询时出错。 [Macromedia][Oracle JDBC Driver][Oracle]ORA-06550:第1行第7列:PLS-00306:调用中的参数数量或类型错误 “UM_CHECK_ALLOC_BENE_LOADV2”ORA-06550:第1行第7列:PL/SQL:语句 忽略 ........................................ 138 : 139 : 140 : 141 : 142 : SQLSTATE HY000 数据源测试数据库 供应商错误代码6550 SQL{调用um_check_alloc_bene_loadV2((参数1)、(参数2)、(参数3))} 资源:
您的过程需要四个参数,如下所示,但您只传递三个参数。谢谢

PROCEDURE um_check_alloc_bene_loadV2 (
  v_session_id ,   
  v_summary    ,   
  v_continue   ,   
  cv_1         )

您的过程需要四个参数,如下所示,但您只传递三个参数。谢谢

PROCEDURE um_check_alloc_bene_loadV2 (
  v_session_id ,   
  v_summary    ,   
  v_continue   ,   
  cv_1         )

过程有4个参数,而您只传递3个参数。感谢您指出这一点!我没看到。如何将此问题标记为“Answered”,请@anonyXmous将他们的评论作为答案发布,然后单击旁边的绿色复选标记。顺便说一句,虽然这是多余的,但添加general
coldfusion
标记往往会吸引CF用户更多的注意力。尽管感谢您将您的版本包含在标记中:),但很多人忘记了这么做。过程有4个参数,而您只传递了3个参数。感谢您指出这一点!我没看到。如何将此问题标记为“Answered”,请@anonyXmous将他们的评论作为答案发布,然后单击旁边的绿色复选标记。顺便说一句,虽然这是多余的,但添加general
coldfusion
标记往往会吸引CF用户更多的注意力。虽然感谢您将您的版本包含在标签中:)但很多人忘记了这么做。