개인 공부/(클라우드) AWS

7. 타입 에러("literal does not match format string") 해결하기

이대곤 2022. 11. 23. 23:55

발생했던 문제

로컬에서 잘 실행이 되는것을 EC2에 배포하고 insert 관련된 동작을 수행해보니

로컬에서는 아무 문제가 없지만 우분투 EC2에서만 이런 에러가 발생한다.

 


해결 방법

첫번째 해결방법(가장 쉬움)

- 참고 : [AWS EC2] Ubuntu 한글 인코딩 변경하기 :: 외계공룡 작업공방 (tistory.com)

- 참고 : 배포 시에만 발생하는 데이터 타입 에러(literal does not match format string)

 

1. 다음 명령어를 입력해보면 현재 언어가 어떻게 설정되어있는지 볼 수 있다.

locale

2. Oracle sql Date 타입이 한국으로 설정되어있기 때문에 AWS EC2 또한 한국설정을 해줘야한다.

sudo locale-gen ko_KR.UTF-8
sudo dpkg-reconfigure locales

3. 루트경로에서 아래 명령어를 입력한 후 i 를 눌러 Insert 모드 진입

vi .bash_profile

4. 아래 코드 입력 후 ESC    :wq  엔터

LANG="ko_KR.UTF-8"
LANGUAGE="ko_KR:ko:en_US:en"

5. 로그인을 다시해야하지만 아래의 코드를 입력하면 환경설정을 바로 반영해줌

source .bash_profile

6. 설정확인 LANG에 ko_KR.UTF-8 있는 지 확인

env

두번째 해결방법(단순 노가다)

sql 문에 작성할 것을 이러한 형태로 입력해준다. to_date(sysdate) 이렇게도 된다.

to_date('2014-03-21 09:15:00', 'YYYY-MM-DD HH24:MI:SS')

or timestamp '2014-03-21 09:15:00.0

빌리어드림 당시 해결했던 방법