IN, OUT или INOUT недействительны для параметра в процедуре

Я вызываю процедуру RPG из своей java и получаю сообщение об ошибке.

ERROR o.h.e.jdbc.spi.SqlExceptionHelper - [SQL0469] IN, OUT, or INOUT not valid for parameter 4 in procedure  in *N.

Один из параметров в запросе является одновременно IN и OUT.

Я просто попытался написать небольшой запрос, как показано ниже.

 "CALL " + procedureName + "(2014, 1, 1.00, 0,'Y' )");

Здесь параметр номер 4 (0) — это выходные данные, которые запрос возвращает также в качестве входных данных.

Любая помощь?

Это фактический запрос, который я написал

   rpgCall = connection.prepareCall("CALL " + procName + "(?, ?, ?, ?, ?)");

            rpgCall .setInt(1, params.year);
            rpgCall .setInt(2, params.value1);
            rpgCall .setInt(3, params.value2);
            rpgCall .setInt(4,params.value3); 
            rpgCall .setString(5, "Y");
            rpgCall .execute();

person newBee    schedule 06.06.2014    source источник


Ответы (1)


Если параметр OUT, тогда вам нужно иметь переменную в этой позиции - вы не можете передать ее как константу, потому что процедура не может это изменить.

person Scott Mildenberger    schedule 06.06.2014
comment
Спасибо, Скотт. Я попробую. - person newBee; 06.06.2014
comment
Это должно выглядеть так: sqlCall.registerOutParameter(4, java.sql.Types.DECIMAL); mkyong.com/jdbc/ - person newBee; 10.06.2014