2014-06-06 3 views
0

내 Java에서 RPG 프로 시저를 호출 중이므로 오류가 발생합니다.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) 쿼리를 입력으로도 반환 출력은 아래와 같이 작은 쿼리를 작성하려고.

어떤 도움이 필요합니까?

이 매개 변수가 다음 OUT 당신이 그 위치에 변수가 필요한 경우 내가

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

을 쓴 실제 쿼리입니다 - 당신이 일정한 절차가를 변경할 수 없기 때문에 전달할 수 없습니다.

+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