티스토리 뷰

ORA-01861: literal does not match format string ..

아주 골치 아픈 오류였다. 왜 골치가 아팠냐면 내 로컬이나 AS-IS 서버에서는 잘 동작하는데 새로 이전을 할 서버에서는 위와 같은 오류가 나며 동작하지 않았다

 

ORA-01861: literal does not match format string

특정 환경에서 안되니 문제에 접근할때 특정 환경과 잘 되는 환경의 차이를 분석해 봐야 한다.

분석을 할때 되는 곳과 안되는 곳에서 아래의 구문을 DB developer 에서 한번 돌려보도록 하자. 

SELECT * FROM nls_session_parameters WHERE PARAMETER LIKE '%DATE%' OR PARAMETER LIKE '%LANG%'; 

NLS 결과값

그럼 위와 같이 DB의 NLS_LANGUAGE, NLS_DATE_FORMAT, NLS_DATE_LANGUAGE 에 대한 정보를 얻을 수 있다. 이 정보에 맞게 서버의 환경을 맞춰주도록 하자. 필자의 경우는 OS의 LANG 설정이 달랐다. 그래서 오류가 나는 서버 전체에 대해 OS LANG 정보를 바꾸지 않고 tomcat을 기동할때 언어를 기존의 en_us에서 ko_kr로 변경했더니 위의 오류는 사라졌다. 

 

기존 환경에서는 잘 되던게 새로운 곳에서는 안된다면 소스를 수정하지 말고 환경을 비교하고 바꿔주도록 하자. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30