Support
Orange Support > 문의하기
Q & A
Re: Re: Re: 공백 문자 삽입 시, '?' 문자 관련
Date2019.09.03 /
Hit : 14474
안녕하세요. 웨어밸리 오렌지 팀입니다.
해당 데이터가 맞습니다.
WHY 컬럼의 실제 화면에 ?표로 보이는 부분이 위에 정상으로 보이는,
값과 달리, 공백문자인 20이 아닌, C2A0값을 가진 것으로 확인됩니다.
C2A0값에 대해서는 chr(49824) 와 같이, 1바이트 공백이 아닌 2바이트 공백문자를 말합니다.
chr(32)
1byte
trim가능, replace 처리가 space로 만든 공백으로 가능
chr(49824)
2byte
trim불가, replace 처리가 space로 만든 공백으로는 불가능
출처: https://babolsk.tistory.com/1037 [사소한 경험 기록공간]
해당 데이터에서 어떤 이유로 같은 공백 표현 값을 20과 C2A0으로
각각 1바이트 공백/ 2바이트 공백으로 사용하는지 이유는 알 수 없으나,
해당 데이터베이스가 AL32UTF8로 Unicode 데이터로서 적합한 상태이므로,
기존 Orange for Oracle 의 Ansi 버전이 아닌 Unicode 버전으로 설치하여 사용하시면
자료 검색에 불편함은 없을 것이라 생각됩니다.
(마찬가지로 SQLPlus 도 Ansi 로 구성되어있어서 동일하게 ?로 표시된 것으로 생각됩니다.)
기존에 이미 설치하신 Ansi 버전이 있으시면,
Unicode 버전으로 추가 설치하실 경우 라이선스에 영향을 미치지 않으므로,
정상적으로 사용 가능합니다.
-
안녕하세요. 웨어밸리 오렌지팀입니다.
종합적으로 봤을 때, 데이터의 문제로 보셔야 할 것으로 생각됩니다.
일반적인 공백문자는 CHR(32) 값 이어야 하지만,
말씀하신 것처럼, 데이터의 이관과 같은 일이 발생했을 때,
일반 공백문자를 CHR(49824)로 변환되는 일이 종종 발생한다고 하는 사람도 있습니다.
https://thdnf1004.tistory.com/entry/ORA12899-value-too-large-for-column
다만 Orange에서 Unicode를 Ansi로 변환하는 과정을 거치지 않아서,
NLS_LANG 값의 설정을 따르지 않고, Unicode 그대로 표시하기 때문에,
Unicode로 보시라고 말씀 드리는 것이지,
데이터 자체가 CHR(32)로 변경되거나 하진 않습니다.
따라서 MS-SQL에서 보이는 ‘?’가 보이는 데이터가 변경되진 않습니다.
해당 변경 현상에 대해서는 CHR(49824)로 구글 검색해 보시거나,
Oracle에 문의해 보시면, 더 자세한 내용을 찾으실 수 있을 거라 생각합니다.
https://community.oracle.com/thread/1073969?tstart=0
또한 EAI가 실행되는 PC에서 Unicode 버전 설치를 한다고 해서
해결되는 내용은 아닐 것이라 생각됩니다.
감사합니다.
해당 데이터가 맞습니다.
WHY 컬럼의 실제 화면에 ?표로 보이는 부분이 위에 정상으로 보이는,
값과 달리, 공백문자인 20이 아닌, C2A0값을 가진 것으로 확인됩니다.
C2A0값에 대해서는 chr(49824) 와 같이, 1바이트 공백이 아닌 2바이트 공백문자를 말합니다.
chr(32)
1byte
trim가능, replace 처리가 space로 만든 공백으로 가능
chr(49824)
2byte
trim불가, replace 처리가 space로 만든 공백으로는 불가능
출처: https://babolsk.tistory.com/1037 [사소한 경험 기록공간]
해당 데이터에서 어떤 이유로 같은 공백 표현 값을 20과 C2A0으로
각각 1바이트 공백/ 2바이트 공백으로 사용하는지 이유는 알 수 없으나,
해당 데이터베이스가 AL32UTF8로 Unicode 데이터로서 적합한 상태이므로,
기존 Orange for Oracle 의 Ansi 버전이 아닌 Unicode 버전으로 설치하여 사용하시면
자료 검색에 불편함은 없을 것이라 생각됩니다.
(마찬가지로 SQLPlus 도 Ansi 로 구성되어있어서 동일하게 ?로 표시된 것으로 생각됩니다.)
기존에 이미 설치하신 Ansi 버전이 있으시면,
Unicode 버전으로 추가 설치하실 경우 라이선스에 영향을 미치지 않으므로,
정상적으로 사용 가능합니다.
-
안녕하세요. 웨어밸리 오렌지팀입니다.
종합적으로 봤을 때, 데이터의 문제로 보셔야 할 것으로 생각됩니다.
일반적인 공백문자는 CHR(32) 값 이어야 하지만,
말씀하신 것처럼, 데이터의 이관과 같은 일이 발생했을 때,
일반 공백문자를 CHR(49824)로 변환되는 일이 종종 발생한다고 하는 사람도 있습니다.
https://thdnf1004.tistory.com/entry/ORA12899-value-too-large-for-column
다만 Orange에서 Unicode를 Ansi로 변환하는 과정을 거치지 않아서,
NLS_LANG 값의 설정을 따르지 않고, Unicode 그대로 표시하기 때문에,
Unicode로 보시라고 말씀 드리는 것이지,
데이터 자체가 CHR(32)로 변경되거나 하진 않습니다.
따라서 MS-SQL에서 보이는 ‘?’가 보이는 데이터가 변경되진 않습니다.
해당 변경 현상에 대해서는 CHR(49824)로 구글 검색해 보시거나,
Oracle에 문의해 보시면, 더 자세한 내용을 찾으실 수 있을 거라 생각합니다.
https://community.oracle.com/thread/1073969?tstart=0
또한 EAI가 실행되는 PC에서 Unicode 버전 설치를 한다고 해서
해결되는 내용은 아닐 것이라 생각됩니다.
감사합니다.
공백 문자 삽입 시, '?' 문자 관련
박진찬
2019.07.15
Re: 공백 문자 삽입 시, '?' 문자 관련
오렌지팀
2019.09.03
Re: Re: 공백 문자 삽입 시, '?' 문자 관련
오렌지팀
2019.09.03
Re: Re: Re: 공백 문자 삽입 시, '?' 문자 관련
오렌지팀
2019.09.03