[운영 종료] TmaxTibero Tech Blog

티맥스티베로 공식 블로그는 https://tmaxtibero.blog/ 로 이전되었습니다.

티맥스티베로 공식 블로그 이전 자세히보기

Admin, 환경설정

[Tibero] Character Encoding 설정 for TbSQL

TmaxTiberotech 2023. 3. 14. 14:19

TbSQL은 티베로(Tibero)에서 제공하는 SQL문장을 처리하는 대화용 유틸리티 입니다. 

TbSQL를 활용하여 SQL 질의, 데이터 정의어 (DDL: Data Definition Language),

트랜잭션과 관련된 SQL 문장을  실행할 수 있습니다. 

 

이 문서에서는, 다양한 설정에 따라 (Locale, 터미널 encoding, TB_NLS_LANG) TbSQL

상에서 정상적으로 한글데이터를 조회할 수 있도록 리눅스 환경에서 조치할 수 있는 설정방안을

안내합니다.

 

 

 

1. OS의 LANG 확인 및 설정

 

locale 명령으로 현재 설정된 OS 계정의 LANG값을 확인할 수 있습니다. 

또한, locale –a 명령으로 설정 가능한 List들을 확인할 수 있습니다.

 

     

Note!

export LANG=설정할 Locale값 
또는 export LC_ALL= 설정할 Locale값 명령어로 설정 변경이 가능합니다.

 

 

2. 터미널 프로그램 설정 변경

 

 

Secure CRT

상단 Option > Session Options => 좌측 Category의 Terminal > Appearance 중간의 Character encoding

 

XShell

접속정보(세션) 우클릭 등록정보 > 터미널 - 화면하단의 변환 > 인코딩

 

Putty

설정 창 좌측의 Window > Translation 우측 상단 Remote character set

 

Note!

터미널 프로그램의 Encoding 설정값과 위 항목(OS의 LANG 확인 및 설정)의 Locale값이
다를 경우, 
vi편집기가 정상동작하지 않거나, 한글로 입력한 값이 화면 상에는 정상적으로
보이지만 실제 Data는 손상되는 등 문제가 발생할 수 있습니다.


Locale에 맞게 터미널 설정 변경 후 작업하세요.

 

 

그림1. Secure CRT

 

그림2. XSHELL

 

 

그림3. Putty

 

 

3. TbSQL 접속 설정

 

터미널 설정과 마찬가지로 Locale에 맞게 TB_NLS_LANG값 설정 후 정상적으로 한글Data 적재 및 조회가 가능합니다.

 

Locale, Terminal, TB_NLS_LANG이 맞을 경우 tbadmin과 동일하게 한글Data를 처리할 수 있습니다.

 

 

TbSQL 내부 수행

TbSQL에 접속할 때는 tbdsn.tbr 파일의 TB_NLS_LANG 설정에 영향을 받습니다.

별도의 설정이 없을 경우 기본값은 MSWIN949 입니다

 

TbSQL @ 기능

OS상에서 파일안에 insert문을 작성 후 tbsql의 @기능을 실행하는 경우가 많습니다.

이때 한글Data가 있을 경우, 실행하고자 하는 SQL파일이 저장된 Encoding에 맞춰

TB_NLS_LANG 설정 후 tbsql접속이 필요합니다.

 

매번 TB_NLS_LANG을 변경하는 것보다는 Locale 및 TB_NLS_LANG에 맞는

 Encoding 값으로 파일 저장을 권합니다.

 

Note!

OS상의 Locale을 변경할 경우 영향도에 대해서는 확인할 수 없었습니다.

테스트 과정에서 새로운 접속없이 임의로 Locale을 반복적으로 변경할 경우 여러 설정들이 
뒤섞이므로 명령어들이 정상 동작하지 않을 수 있습니다.

적절한 값으로 Locale과 TB_NLS_LANG을 고정한 상황에서 터미널 설정 및 파일 Encoding을 변경해주세요.