BULK INSERT
을 사용하여 .csv 파일에서 기존 테이블에 행을 추가하려고합니다. 지금 나는 다음과 같은 형식으로 테스트 목적으로 작은 파일이 있습니다BULK INSERT가 CSV에서 제대로 삽입되지 않음
UserID,Username,Firstname,Middlename,Lastname,City,Email,JobTitle,Company,Manager,StartDate,EndDate
273,abc,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
274,dfg,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
275,hij,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
을 그리고 이것은처럼 내 쿼리가 현재 모습입니다 :이 쿼리를 실행하면 그 영향 1 개 행 반환
BULK INSERT DB_NAME.dbo.Users
FROM 'C:\data.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
. 테이블의 항목을 확인하고 파일의 데이터가 테이블에 단일 행으로 삽입되었음을 확인했습니다.
이 문제의 원인은 무엇일까요? 달성하려고하는 것은 테이블의 개별 행에 해당 행을 삽입하는 것입니다. 난 그냥 자동으로 ID를 생성하여이 나는 쿼리를 이야기하는 방법을 잘 모르겠습니다으로 덮어 쓰기됩니다 경우에도 정수를 지정된 파일에, 그래서 첫 번째 열이 실제로 ID 열
아래를 참조하십시오 (긴) 이미지 두 번째 필드에서 삽입을 시작합니다.
실제 테이블에 작성된 열이 파일에 지정된 것보다 많아서 모든 내용을 채울 필요가 없기 때문입니다. 그것이 원인 일 수 있습니까?
좋아하는 텍스트 편집기를 확인하여 모든 기호가 무엇인지 확인하십시오. 예 : 메모장 ++에서 "모든 기호 표시"를 활성화합니다. 아마도 행은'\ r \ n '대신'\ r'으로 끝납니다. –
테스트를 위해 ID 필드없이 임시 테이블을 만들고 WITH 문을 꺼내서 반환되는 데이터를 확인할 수 있습니까? –
문자 인코딩에 따라 새 줄 문자가 다르게 표시됩니다. '/ r/n'으로 해봤습니까? – Fka