Проблемы с подключением к функции оракула с использованием Springboot (JPA или JDBCTemplate) - PullRequest
0 голосов
/ 17 мая 2019
I am trying to call an oracle function using spring boot.
String X = "some string length more than 200 characters";
String Y = "some string length more than 200 characters";

MyFunc(X,Y,null,null,null,"NONE")
All the fields are VARCHAR2 and also return VARCHAR2.
As all fields are string, we don't have entity class for this.

Я пытался использовать: 1. SimpleJdbcCall 2. Данные Spring JPA

SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
          .withCatalogName("XYZ") //package name
          .withFunctionName("BATCH_MYFUNCTION")
    .useInParameterNames("ASTR","BSTR","CSTR","DSTR","ESTR","FSTR");
  SqlParameterSource in = new MapSqlParameterSource().addValue("ASTR", param1,OracleTypes.VARCHAR)
          .addValue("BSTR", param2,OracleTypes.VARCHAR)
          .addValue("CSTR", param3,OracleTypes.VARCHAR)
          .addValue("DSTR", param4,OracleTypes.VARCHAR)
          .addValue("ESTR", param5,OracleTypes.VARCHAR)
          .addValue("FSTR", param6,OracleTypes.VARCHAR)
          ;
  //First parameter is function output parameter type and here the func is returning a string value.
  return jdbcCall.executeFunction(String.class, in);

Функция должна возвращать строковый ответ из базы данных.Ошибка: отсутствует параметр входа и выхода в функции

...