개인 공부/(클라우드) 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