2017-05-22 2 views
0

저는 회사의 프로세스를 수정하기 위해 열심히 노력했으며 문제의 원인을 발견했습니다.일괄 삽입시의 데이터 정렬

일부 데이터를 가져와야하는 곳의 CSV 파일이 있는데 일부 필드에는 단어가 포함되어 있고 SQL Server는 이와 같은 문자로 바꾸기를 계속합니다 내 열 데이터 정렬을 COLLATE Modern_Spanish_CI_AS으로 변경했지만 대량 삽입 특정 데이터 정렬을 신경 쓰지 않고 어디에서나 대체합니다.

대량 일괄 처리가 주어진 데이터 정렬을 존중하는 방법을 알고 있습니까?

내가 사용하는 코드는 다음과 같습니다.

EXEC ('BULK INSERT #TMPP FROM ''' + @PATH + 
    ''' WITH (FIELDTERMINATOR = ''|'', FIRSTROW = 1, ROWTERMINATOR = ''\n'', KEEPNULLS);'); 
+0

#TMPP의 DDL은 어떤 모양입니까? 이 칼럼이'NVARCHAR()' – scsimon

+0

'NVARCHAR (120) \t COLLATE Modern_Spanish_CI_AS'가 이렇게 되길 원할 것입니다. –

답변

0

해결 방법을 찾았습니다. WITH 절에 CODEPAGE = 1252을 지정해야했습니다. 코드가 이렇게 끝났습니다.

EXEC ('BULK INSERT #TMPP FROM ''' + @PATH + 
     ''' WITH (FIELDTERMINATOR = ''|'', FIRSTROW = 1, ROWTERMINATOR = ''\n'', KEEPNULLS, CODEPAGE = 1252);'); 

앞으로 유용하게 사용하시기 바랍니다.

관련 문제