2017-05-11 8 views
0

대량 파일 삽입 명령으로 SQL Server 2014로 텍스트 파일을 가져 오려고합니다. 서식 파일을 사용하여 필요하지 않은 열을 건너 뜁니다. UTF8 파일을 제외하고이 작동합니다. 일부 특수 문자 (ä, ö, ü, ...)는 올바르게 가져 오지 못합니다.SQL Server 2014에서 Formatfile을 사용하여 UTF8 파일 가져 오기?

해결 방법 this 문서는 작동하지만 형식 파일을 사용하지 않고서 만 작동합니다. 나는이 오류를 초래 Formatfile에 "SQLNCHAR"의 데이터 유형을 변경 시도 :

Msg 4863, Level 16, State 1, Line 3 
Bulk load data conversion error (truncation) for row 11, column 1 (col1). 
Msg 7399, Level 16, State 1, Line 3 
The OLE DB provider "BULK" for linked server "(null)" reported an error. The 
provider did not give any information about the error. 
Msg 7330, Level 16, State 2, Line 3 
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)". 

그래서 UTF8 - 코드 페이지는 형식 파일과 함께 사용하는 방법?

도움 주셔서 감사합니다. 내가 그것을 알아 냈

답변

0

... 때문에 UTF8 인코딩의

는, 데이터 정렬/인코딩은 대량 삽입 문에 정의되어

WITH (CODEPAGE = '65001', DATAFILETYPE = 'Char', ...) 

형식 파일의 데이터 정렬이 비어 있어야한다 이 경우 유형은 "SQLCHAR"이어야합니다. 예를 들어, 내 형식 파일의 첫 번째 줄은 이것이다 :

1 SQLNCHAR 0 50 | 1 column1 "" 

... 그것은 다른 사람이 검색하는 시간을 피하고 도움이되기를 바랍니다