기록/ERROR

[기록/ERROR/Oracle] ORA-17041: 인덱스에서 누락된 IN 또는 OUT 매개변수

수빈2022 2024. 5. 14. 21:53

■ 문제상황

쿼리 실행 오류로, 바인딩이 잘못됐을 때 발생합니다. 바인딩이 잘못되는 경우는 다음과 같습니다.

1) 파라미터의 이름이 맞지 않음
2) 바인딩 자리와 개수가 맞지 않는 경우

■ 해결방법

1) 파라미터의 이름이 맞지 않는 경우

String id1   = request.getParameter("id1");
// ...
pstmt.setString(1, id3);

request.getParameter()를 담는 변수의 이름이 setString의 2번째 인자와 동일한지 확인해 주세요. 아래처럼 파라미터를 가져올 때는 id1 변수에 담아놓고 setString에서 id3을 쓰시면 에러가 발생합니다. id1과 id3의 이름을 동일하게 맞추면 해결됩니다.

 

2) 바인딩 자리와 개수가 맞지 않는 경우

위처럼 바인딩 자리는  5개인데 setString으로 바인딩하는 값이 4개뿐이면 에러가 발생합니다.

바인딩 자리 4개, 바인딩하는 값도 4개로 동일하게 맞추면 에러가 해결됩니다.


감사합니다. :)