728x90
원인
String sql = "SELECT * FROM NOTICE WHERE "+field+" LIKE ? AND NUM BETWEEN ? AND ?";
해결
String sql = "SELECT * FROM NOTICE WHERE "+field+" LIKE ? AND ID BETWEEN ? AND ?";
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고
메시지 Request processing failed; nested exception is java.sql.SQLSyntaxErrorException: ORA-00904: "NUM": 부적합한 식별자
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.sql.SQLSyntaxErrorException: ORA-00904: "NUM": 부적합한 식별자
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
근본 원인 (root cause)
java.sql.SQLSyntaxErrorException: ORA-00904: "NUM": 부적합한 식별자
oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:553)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:269)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91)
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:807)
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)
oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3713)
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1167)
com.newlecture.web.service.NoticeService.getList(NoticeService.java:34)
com.newlecture.web.controller.notice.ListController.handleRequest(ListController.java:30)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
근본 원인 (root cause)
Error : 904, Position : 46, Sql = SELECT * FROM NOTICE WHERE TITLE LIKE :1 AND NUM BETWEEN :2 AND :3 , OriginalSql = SELECT * FROM NOTICE WHERE TITLE LIKE ? AND NUM BETWEEN ? AND ?, Error Msg = ORA-00904: "NUM": 부적합한 식별자
oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:553)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:269)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91)
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:807)
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)
oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3713)
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1167)
com.newlecture.web.service.NoticeService.getList(NoticeService.java:34)
com.newlecture.web.controller.notice.ListController.handleRequest(ListController.java:30)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.
728x90
댓글