从Spring Jdbc模板调用oracle函数时出错

时间:2018-10-12 10:56:45

标签: spring jdbc spring-jdbc jdbctemplate function-call

例外:

  

org.springframework.jdbc.BadSqlGrammarException:CallableStatementCallback;错误的SQL语法[{? =致电PACKAGE.TEST()}];
  嵌套异常是java.sql.SQLException:ORA-06550:第1行,第13列:PLS-00306:对“ TEST”的调用中参数的数量或类型错误
  引起原因:java.sql.SQLException:ORA-06550:第1行第13列:   PLS-00306:“测试”调用中参数的数量或类型错误   ORA-06550:第1行,第7列:

代码

数据库:

FUNCTION test (input_name IN NUMBER)
      RETURN NUMBER
   IS
   BEGIN
      RETURN 0;
   END;

Java:

this.jdbcCall = new SimpleJdbcCall(dataSource).withCatalogName("package").withFunctionName("test");
             SqlParameterSource in = new MapSqlParameterSource().addValue("input_name", "abc");
          int   errorCode = jdbcCall.executeFunction(Integer.class, in);

我无法找出问题出在哪里。

0 个答案:

没有答案