[에러] java.sql.SQLException: Cannot create PoolableConnectionFactory (로케일을 인식할 수 없습니다.)

leesoyeon·2023년 8월 27일
0

분명 어노테이션, 매핑 등 전부 다 제대로 다 한 거 같음에도
계속 오류가 나서 미칠 지경이었다...
그러다 이것저것 시도하다보니 해결했다


org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (로케일을 인식할 수 없습니다.)
### The error may exist in file [/Users/soyeonlee/Dev/eGovFrameDev-3.10/workspace/spring/target/spring-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/sqlmap/member_SQL.xml]
### The error may involve kr.or.spring.mapper.MemberMapper.insertMember
### The error occurred while executing an update
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (로케일을 인식할 수 없습니다.)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:515)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

처음에는 영문 에러에만 집중을 했는데
한참 있다가 저 뒤에 '(로케일을 인식할 수 없습니다)' 라는 걸 보고

혹시?! 하며 톰캣 VM 옵션에 아래 내용을 적어주었고

-Dfile.encoding=UTF-8
-Duser.language=ko
-Duser.country=KR

맥 '시스템 설정 - 언어 및 지역' 에서
지역을 다른 국가로 바꾼 뒤 다시 대한민국으로 해주었다


그랬더니 DB에 데이터도 잘 들어가고, 로그도 잘 찍힌다...

오늘의 교훈 :
에러를 꼼꼼하게 읽자.


2023 / 09 / 13 추가
지역 변경하는 건 검색을 통해 찾은 방법인데 VM 옵션만 추가해줘도 잘 된다 !
인텔리제이를 쓴다면 VM 옵션 추가를, 오라클을 쓴다면 국가 변경을 해보시길

0개의 댓글