ORA-01861: literal does not match format string


로컬 PC에서는 잘 돌아가는게 실서버에 배포하면 위와 같은 에러가 발생한다. 


오라클 TO_DATE 함수 부분에서 발생하는 에러로 추측된다.


이와 같은 경우 대부분 최신의 jdbc 드라이버로 교체해주면 해결되지만, 드라이버 교체로도 해결이 안될 경우에는 OS 환경변수의 언어셋 설정값을 확인해 보고 아래와 같이 변경해준다.


export LANG=ko_kr.UTF-8


또는


export NLS_LANG=KOREAN_KOREA.UTF-8


LANG 설정값을 변경해주면 WAS만 재기동 하면 되지만 NLS_LANG 값을 변경해주면 오라클을 재기동해야 할 수도 있어서 전자를 추천한다.


언어셋 설정값에 따라 오라클이 내부적으로 날짜변환을 판단하는 것으로 보여지는데 왜 굳이 이렇게 했는지는 만든 사람만이 알겠지.


이번에도 역시 구글신이 아니었다면 원인 찾느라 고생 좀 했을 것 같다.



+ Recent posts