2014-06-06 2 views
0

Я вызываю процедуру RPG из своей java, и я получаю сообщение об ошибке.IN, OUT или INOUT недействительны для параметра в процедуре

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(); 

ответ

2

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

+0

Спасибо Scott.I попробую это. – newBee

+0

Это должно быть как sqlCall.registerOutParameter (4, java.sql.Types.DECIMAL); http://www.mkyong.com/jdbc/jdbc-callablestatement-stored-procedure-out-parameter-example/ – newBee

Смежные вопросы