본문 바로가기

SPRING

java.sql.SQLSyntaxErrorException: ORA-01722: 수치가 부적합합니다 에러

 

 

 

파이널프로젝트를 다시 열어보면서 안되는부분을 다시 재정비하고있다.

분명 값도 잘 가져오고 값도 잘 보내는데 왜 오류도 안뜨고 디비에는 들어가지지않지? 라고 생각했는데

알고보니 디비의 칼럼갯수가 달랐고.....근데 왜 오류가  안났지...?

암튼 컬럼갯수를 다시 재정비하고 다시 실행을 시켰더니 이제서야 오류가 나왔다.

이런 오류였음 

 

 

 

## Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 수치가 부적합합니다

 

### The error may exist in /mapper/board-mapper.xml

### The error may involve boardMapper.reportUser-Inline

### The error occurred while setting parameters

### SQL: INSERT INTO BOARD_BANNED          VALUES (         SEQ_BANNED_NO.NEXTVAL,?, ?, ?)

### Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 수치가 부적합합니다

 

; ORA-01722: 수치가 부적합합니다

; nested exception is java.sql.SQLSyntaxErrorException: ORA-01722: 수치가 부적합합니다

 

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)

at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)

at com.sun.proxy.$Proxy16.insert(Unknown Source)

at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)

at edu.kh.fin.band.board.model.dao.BoardDAO.reportUser(BoardDAO.java:91)

at edu.kh.fin.band.board.model.service.BoardServiceImpl.reportUser(BoardServiceImpl.java:96)

at edu.kh.fin.band.board.controller.BoardController.reportUser(BoardController.java:141)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at edu.kh.fin.band.common.filter.MainFilter.doFilter(MainFilter.java:40)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.base/java.lang.Thread.run(Thread.java:829)

Caused by: java.sql.SQLSyntaxErrorException: ORA-01722: 수치가 부적합합니다

 

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)

at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1231)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:772)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:512)

at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:163)

at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1241)

at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1820)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1472)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3761)

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4136)

at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1014)

at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)

at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:94)

at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)

at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)

at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)

at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)

at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)

at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)

at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)

... 51 more

Caused by: Error : 1722, Position : 84, Sql = INSERT INTO BOARD_BANNED 

        VALUES (

        SEQ_BANNED_NO.NEXTVAL,:1 , :2 , :3 ), OriginalSql = INSERT INTO BOARD_BANNED 

        VALUES (

        SEQ_BANNED_NO.NEXTVAL,?, ?, ?), Error Msg = ORA-01722: 수치가 부적합합니다

 

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)

... 77 more

 

 

 

알고보니 테이블을 다시 만들때 한 칼럼의 타입부분을 다르게 적었던것이다...

VARCHAR2(100) 라고 해야하는데 NUMBER로 해놨다 ㅎ

'SPRING' 카테고리의 다른 글

AJAX 200에러 이유  (1) 2024.01.04
스프링래거시 좋아요기능 구현하기  (1) 2024.01.03
[Spring] [MyBatis 에러] 어이없는 실수  (0) 2023.12.23
Spring legacy project 생성 및 설정  (0) 2023.05.19
SPRING  (0) 2023.05.12