无法确定正确的呼叫签名 - 使用simpleJdbcCall时出现多个过程/函数/签名错误

Abh*_*ngh 4 oracle spring-mvc spring-jdbc

这是我的DAO代码

 this.calcRTRDetails = new SimpleJdbcCall(dataSource).withCatalogName("score_rtr").
                     withProcedureName("calc_rtr_dtls").declareParameters(
                        new SqlParameter("p_repy_track", Types.ARRAY)    
                      ).returningResultSet("p_track_dtls",new RowMapper<String>() {

                        @Override
                        public String mapRow(ResultSet rs, int arg1)
                                throws SQLException {
                            // TODO Auto-generated method stub
                            return rs.getString(1);
                        }
                    } );
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

org.springframework.dao.InvalidDataAccessApiUsageException: Unable to determine the correct call signature - multiple procedures/functions/signatures for CALC_RTR_DTLS found [SCORE_RTR.SCORE.CALC_RTR_DTLS, SCORE_RTR.SCORE.CALC_RTR_DTLS]
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

use*_*347 7

我发现我有一个非常类似的问题,我试图调用一个重载的Postgres函数.Spring 3.2.3中的解决方案是调用withoutProcedureColumnMetaDataAccess().

但一定要明确声明您的参数.另一种方法是为您的重载函数赋予不同的名称.