2022년 12월 20일

TIPS - java.sql.SQLException: Locale not recognized (맥에서 오라클 연결시 "로케일을 인식할 수 없습니다" 오류)

 맥에서 OS 가 업데이트 되면 Oracle Database 연결시 "Locale not recognized" 오류가 발생하며 이는 시스템설정의 언어 및 지역 설정 지역 선택 박스에서 (다른 나라를 선택하고 다시 대한민국을 선택하는 방식의) 해외 여행을 한번 하고 나면 정상 동작하는 이슈가 있었다. 

그림1. Ventura 언어 및 지역 설정

Ventura 업데이트 이후에는 위의 같은 조치에도 문제가 해결되지 않고 설정을 수정하여 조치해야하는 수고가 필요하다. 의문이 가는 것이 M1 MacBook Pro 에서는 동일한 이슈가 발생되지 않는  것으로 확인되고 있다. 


SQL Developer 

/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/sqldeveloper.conf 에서 AddVMOption 옵션을 사용 아래와 같이 Locale 설정을 추가한다. 

AddVMOption -Duser.language=ko
AddVMOption -Duser.country=KR

테스트 환경은 아래와 같다.

◼︎ 노트북
  • Model : MacBook Pro (16-inch, 2019)
  • CPU : 2.3 GHz 8코어 Intel Core i9
  • GPU : AMD Radeon Pro 5500M 4 GB
  • MENORY : 16GB
  • DISK : 1TB SSD
  • OS : macOS 13.1(22C65)

◼︎ 프로그램
  • Oracle SQL Developer 22.2.1.234
  • Java 11.0.16.1

Eclipse (Tomcat)

Eclipse 를 개발도구로 사용하는 경우 대부분이 플러그인을 사용하여 톰켓을 설정하고 사용하게되는데 위와 동일한 속성값을 톰캣 런타임 옵션에 아래와 같이 추가한다.

-Duser.language=ko -Duser.country=KR

그림2. Eclipse Servers Tomcat Configuration

그림3. Eclipse Tomcat Configuration Edit Window

테스트 환경은 아래와 같다.

◼︎ 노트북
  • Model : MacBook Pro (16-inch, 2019)
  • CPU : 2.3 GHz 8코어 Intel Core i9
  • GPU : AMD Radeon Pro 5500M 4 GB
  • MENORY : 16GB
  • DISK : 1TB SSD
  • OS : macOS 13.1(22C65)

◼︎ 프로그램
  • Eclipse IDE for Enterprise Java Developers (includes Incubating components) 4.17.0
  • Java 11.0.16.1
  • Apache Tomcat 8.5

참고자료 

  1. An getting this error when i run my project: java.sql.SQLException: Locale not recognized
  2. My Oracle Support Banner java.sql.SQLException: Locale not recognized When Using -Duser.language and -Duser.region (Doc ID 2637901.1)

댓글 없음:

댓글 쓰기