IT 관련,,/중요문자 적어두기

[웹/SPRING]Http상태 500에러 - 숫자 오버플로우!!

IT깡패's 2020. 10. 9. 15:19
728x90
반응형
SMALL
HTTP 상태 500 – 내부 서버 오류
타입 예외 보고

메시지 Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException:

설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.

예외

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: 
### Error querying database.  Cause: java.sql.SQLException: 숫자 오버플로우
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### Cause: java.sql.SQLException: 숫자 오버플로우
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17026]; 숫자 오버플로우; nested exception is java.sql.SQLException: 숫자 오버플로우
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
근본 원인 (root cause)

org.springframework.jdbc.UncategorizedSQLException: 
### Error querying database.  Cause: java.sql.SQLException: 숫자 오버플로우
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### Cause: java.sql.SQLException: 숫자 오버플로우
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17026]; 숫자 오버플로우; nested exception is java.sql.SQLException: 숫자 오버플로우
	org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
	org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
	org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
	org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:365)
	com.sun.proxy.$Proxy5.selectList(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:195)
	product.model.CompositeDao.showDetail(CompositeDao.java:30)
	mall.controller.DetailViewController.doAction(DetailViewController.java:26)
	jdk.internal.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:567)
	org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
근본 원인 (root cause)

java.sql.SQLException: 숫자 오버플로우
	oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4139)
	oracle.jdbc.driver.NumberCommonAccessor.getInt(NumberCommonAccessor.java:105)
	oracle.jdbc.driver.GeneratedStatement.getInt(GeneratedStatement.java:199)
	oracle.jdbc.driver.GeneratedScrollableResultSet.getInt(GeneratedScrollableResultSet.java:246)
	oracle.jdbc.driver.GeneratedResultSet.getInt(GeneratedResultSet.java:556)
	org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:275)
	org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:275)
	org.apache.ibatis.type.IntegerTypeHandler.getNullableResult(IntegerTypeHandler.java:34)
	org.apache.ibatis.type.IntegerTypeHandler.getNullableResult(IntegerTypeHandler.java:23)
	org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:51)
	org.apache.ibatis.executor.resultset.FastResultSetHandler.applyAutomaticMappings(FastResultSetHandler.java:330)
	org.apache.ibatis.executor.resultset.FastResultSetHandler.getRowValue(FastResultSetHandler.java:261)
	org.apache.ibatis.executor.resultset.FastResultSetHandler.handleRowValues(FastResultSetHandler.java:214)
	org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSet(FastResultSetHandler.java:186)
	org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSets(FastResultSetHandler.java:152)
	org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:58)
	org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70)
	org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57)
	org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
	org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141)
	org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:98)
	org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:73)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:101)
	org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)
	jdk.internal.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:567)
	org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:355)
	com.sun.proxy.$Proxy5.selectList(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:195)
	product.model.CompositeDao.showDetail(CompositeDao.java:30)
	mall.controller.DetailViewController.doAction(DetailViewController.java:26)
	jdk.internal.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
	java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.base/java.lang.reflect.Method.invoke(Method.java:567)
	org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.

Apache Tomcat/9.0.35

 

이 에러는 담을 숫자가 넘어서 생긴 오류인데요~

즉, 오라클에서 설정한 수보다 더 담아서 생긴 오류라 볼 수 있다는 얘기입니다~ㅋㅋㅋ

저는 오라클에서 정수 범위를 99999까지 들어갈 수 있게 설정했었는데요.

연습삼아서 한 155151515151라고 수를 넣었더니 이런 에러가 나더라고요~ㅎㅎ

jsp나 스프링 작업을 하다가 간혹 나는데 이 때 생기는 오류라고 생각하시면 되겠습니다~!!

밑에 참고자료에 더욱더 설명이 잘 나와있으니 참고하시어 익혀두시길 바라겠습니다~ㅎㅎ

 

이미지로 예를 들어보면 다음과 같습니다~!!

 

- 참고링크


숫자오버플로우 - https://kimsg.tistory.com/29

728x90
반응형
LIST