원인 :
- 쿼리문에서 ?와 컬럼의 수가 일치하지 않는다.
- 동적 바인딩해야 할 변수와 실제 설정한 데이터의 수가 맞지 않는다
쉽게 이야기하면 갯수가 맞지 않는다는 것!
예시)
나의 경우에는
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 을 한개만 설정해서 오류가 발생했다..
해결방법 : 따옴표나 컬럼, 변수 갯수 등을 확인할 것.
'ETC > Oracle Database' 카테고리의 다른 글
[Oracle] java.sql.SQLException: 부적합한 열 이름 오류 해결 방법 (0) | 2022.09.29 |
---|---|
[Oracle] 이클립스에 오라클DB 커넥션풀(DBCP) 만들어 사용하기 #1.사전준비(web.xml context.xml ojdbc6.jar tomcat-dcp.jar ) (0) | 2022.09.28 |
[Sqldeveloper] 압축풀기 후 파일이 사라지는 현상 해결하기 (2) | 2022.09.27 |
[Oracle] 오라클 11g 버전 다운로드 링크 (0) | 2022.09.21 |
[Oracle] 오라클 19c 완전 삭제 방법 (0) | 2022.09.21 |