티스토리 뷰

반응형

 

[디비버(DBeaver)] 간단 해결 ORA-01861: literal does not match format string

 

1. Oracle SQL Developer에서는 되는데, DBeaver에서만 오류

 

개발을 진행하면서 여러가지 DB에 한번에 접근할 수 있는 DBeaver를 사용하는 개발자들이 많습니다.

 

Oracle SQL Developer에서는 TO_DATE(SYSDATE)가 문제없는데, 

DBeaver는 ORA-01861: literal does not match format string 오류를 일으킬 때가 있습니다.

 

TO_DATE(SYSDATE) => TO_DATE(SYSDATE, 'YYYYMMDD')를 찾아서 전환해도 되지만 시간이 많이 걸립니다.

 

# Oracle SQL Developer에서 실행

# DBeaver 실행

2. 해결방법

 

-- 해당쿼리 실행

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

 

-- 포맷 확인

SELECT * FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';

SELECT * FROM NLS_INSTANCE_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';

 

위의 방법은 DBeaver를 실행 시마다, 작업을 해주는 번거로움이 있습니다. 기본언어를 한국어로 변경할 경우 해당 오류가 발생하지 않습니다.

 

 

 

반응형
댓글