본문 바로가기
ETC/Oracle Database

[Oracle] java.sql.SQLException 인덱스에서 누락된 IN 또는 OUT 매개변수:: 1

by cosmicgy 2022. 9. 28.

 

원인 :

- 쿼리문에서 ?와 컬럼의 수가 일치하지 않는다.
- 동적 바인딩해야 할 변수와 실제 설정한 데이터의 수가 맞지 않는다 

 

쉽게 이야기하면 갯수가 맞지 않는다는 것!

 

 예시)

나의 경우에는 

String sql = "SELECT * FROM login_test WHERE id=? AND pwd=?"; 
....
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
HttpSession session = request.getSession(); 
try {
conn = DBConnection.connect();
pst = conn.prepareStatement(sql);
pst.setString(1, id);
pst.setString(2, pwd);
rs = pst.executeQuery();
...

 

빨강색 볼드체로 칠한 setString 을 한개만 설정해서 오류가 발생했다..

 

해결방법 : 따옴표나 컬럼, 변수 갯수 등을 확인할 것.