에러 모음

TransientDataAccessResourceException

junani0v0 2024. 5. 9. 00:03

< 에러 메시지 >

SEVERE: 경로 [/11]의 컨텍스트 내의 서블릿 [pf]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [UPDATE forum.board SET title=?, content=?, hit=0, del_yn='N', reg_dtm='', reg_member_seq=73, update_dtm=DATE_FORMAT(NOW() ,'%Y%m%d%H%i%s') , update_member_seq=0 WHERE board_seq=0 AND board_type_seq=0;]; Parameter index out of range (3 > number of parameters, which is 2).; nested exception is java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).]을(를) 발생시켰습니다.

java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).

 

TransientDataAccessResourceException

일시적으로 DB 엑세스에 문제가 발생을 나타냄

< 원인 >

public int updateBoard(HashMap<String, String> params) {
    String sql ="UPDATE forum.board "
            + "SET title=?, content=?, hit=0, del_yn='N', reg_dtm='', reg_member_seq=73, update_dtm=DATE_FORMAT(NOW()  ,'%Y%m%d%H%i%s') , update_member_seq=0 "
            + "WHERE board_seq=0 AND board_type_seq=0;";
    Object[] args = { params.get("title"), params.get("trumbowyg-demo"), params.get("boardSeq"), params.get("boardTypeSeq") };
    return update(sql, args);
}

SQL 쿼리에서 파라미터 인덱스가 범위를 벗어나 발생

즉, 쿼리의 ?에 바인딩할 값의 개수가 실제 쿼리에 있는 파라미터 개수보다 많다는 것을 의미

Parameter index out of range (3 > number of parameters, which is 2).

 

< 해결 >

public int updateBoard(HashMap<String, String> params) {
    String sql ="UPDATE forum.board "
            + "SET title=?, content=?, hit=0, del_yn='N', reg_dtm='', reg_member_seq=73, update_dtm=DATE_FORMAT(NOW()  ,'%Y%m%d%H%i%s') , update_member_seq=0 "
            + "WHERE board_seq=? AND board_type_seq=?;";
    Object[] args = { params.get("title"), params.get("trumbowyg-demo"), params.get("boardSeq"), params.get("boardTypeSeq") };
    return update(sql, args);
}

 

?의 바인딩 개수 파라미터 개수랑 맞춤

'에러 모음' 카테고리의 다른 글

XmlBeanDefinitionStoreException  (0) 2024.05.09
BadSqlGrammarException  (0) 2024.05.09
EmptyResultDataAccessException  (0) 2024.05.08
TransientDataAccessResourceException  (0) 2024.05.08
No Mapping, PageNotFound - 맵핑 에러  (0) 2024.05.08