【问题标题】:Unable to determine the correct call signature - multiple procedures/functions/signatures error while using simpleJdbcCall无法确定正确的调用签名 - 使用 simpleJdbcCall 时出现多个过程/函数/签名错误
【发布时间】:2013-11-10 06:17:42
【问题描述】:

这是我的 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);
                        }
                    } );

我收到以下错误

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]

可能是什么原因??

【问题讨论】:

  • 第3行真的叫“p_repy_track”吗?
  • 可能是您的 JDBC 用户没有对该包/函数/表或其他任何内容的权限...

标签: oracle spring-mvc spring-jdbc


【解决方案1】:

我发现我在尝试调用重载的 Postgres 函数时遇到了一个非常相似的问题。 Spring 3.2.3 中的解决方案是调用 withoutProcedureColumnMetaDataAccess()。

但请务必明确声明您的参数。另一种方法是给你的重载函数起不同的名字。

【讨论】:

    猜你喜欢
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2012-12-15
    • 2015-03-09
    相关资源
    最近更新 更多