Chanho_Park

[SQL] 배포 시에만 데이터 타입 에러(literal does not match format string) 본문

배포/Error

[SQL] 배포 시에만 데이터 타입 에러(literal does not match format string)

Chanho_Park 2022. 11. 23. 10:02
728x90

 

로컬에서 모든 에러를 고치고 배포를 하였다.

 

배포를 하고 테스트를 진행하는데

 

갑자기 이러한 오류가 발생

 

"literal does not match format string"

타입이 안맞다는것이다.

 

To_Date , Date 타입에서 발생하는 것이다.

 

로컬에서 확인해보니 문제x

 

배포시에만 에러가 발생한다.

 

 

 

[해결 방법]

 

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

 

or

 

각자 배포한 곳에서 저는 EC2로 했기 때문에

 

EC2에서  아래와 같은 코드를 작성해주고 인스턴스 재부팅 을 한다.

 

하지만 이 방법은 인스턴스가 바뀌거나 변수가 생길 수 있어서

 

위에 방식으로 모든 sql 문을 바꿔주는 것이 안전한 방법이다.

 

 

 

관리자 권한

sudo su

현재 언어가 어떻게 설정되어있는지 볼 수 있다.

locale

 

Oracle sql Date 타입이 한국으로 설정되어있기 때문에 

AWS EC2 또한 한국설정을 해줘야한다.

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

 

아래 명령어를 입력한 후 i 를 눌러 Insert 모드 진입

 

vi .bash_profile

 

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

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

 

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

source .bash_profile

 

 

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

$ env

 

728x90