2017-09-22 13 views
0

BOM을 사용하여 UTF16 형식의 BTEQ 내에서 실행해야하는 파일이 있습니다.BTEQ에서 SESSION CHARSET을 UTF16으로 설정할 수 없습니다.

.SET SESSION CHARSET 'UTF16'; 
*** Error: SET SESSION CHARSET UTF16 is not allowed. 

내가 UTF8로 설정하고 UTF8로 파일을 변환 할 수 있습니다 및 작동 : 나는 파일을 실행하기 전에 문자 집합을 설정하려고하면 그러나 나는 다음과 같은 오류가 발생합니다. 또한 파일을 BOM없이 UTF8로 변환하고 스크립트가 실행되는 CHARSET을 설정하지 않을 수 있습니다. 이 파일은 시스템에서 생성되었으며이 스크립트 배포를 자동화하여 문서 변환이 바람직하지 않습니다.

추가 정보 추가 : 자동화에 사용되는 입력 스크립트에 BOM이없고 BOM이있는 파일을 열 때 .RUN FILE 옵션을 사용하여 Powershell에서 생성됩니다. 따라서 .SET 세션 문자 셋팅을 할 필요가있다.

답변

2

utf-16 모드에서 bteq를 시작하려면, 테라 데이타의 문서에 따르면 명령

>bteq -c utf16 

아래 사용

-c 옵션은 유니 코드 세션에 대한 세션 문자 집합 인코딩을 정의하고 인수를 걸립니다 지원되는 모든 문자 집합 일 수 있습니다. 값

아래와 같이 .show control charset을 사용하여 확인할 수 있습니다.

T e r a d a t a B T E Q 1 6 . 0 0 . 0 0 . 0 2 f o r W I N 3 2 . P I D : 1 2 1 2 
C o p y r i g h t 1 9 8 4 - 2 0 1 6 , T e r a d a t a C o r p o r a t i o n . A L L R I G H T S R E S E R V E D . 
E n t e r y o u r l o g o n o r B T E Q c o m m a n d : 
.show control charset; 

. s h o w c o n t r o l c h a r s e t ; 

    [ S E T ] S E S S I O N C H A R S E T     = U T F 1 6 ;            
       i m p o r t/e x p o r t e n c o d i n g = U T F 1 6 ;            
       s t d i n/s t d o u t e n c o d i n g  = U T F 1 6 ; 

당신은 자세한 내용은 invoking-bteq-to-use-unicode 확인할 수 있습니다

내 자동화에 사용되는 입력 스크립트는 BOM이없는 및 BOM을 가지고 파일을 열도록 .RUN 파일 옵션을 사용하여 PowerShell에서 발생
+0

. 따라서 .SET 세션 문자 셋팅을 할 필요가있다. – Russ960

+0

몇 가지 추가 테스트를 수행하고 'utf16'을 받아들이는 유일한 세션 방법은 BOM을 사용하여 UTF16으로 bteq 입력 파일을 수정 한 다음 제안 된대로 시작하는 것입니다. 도와 줘서 고마워. – Russ960