많은 레코드가 포함 된 .csv 파일에서 데이터를 읽어야하지만 마지막 행의 에는 "the_end"문자열이 있고 그 뒤에는 LF 기호가 없습니다. 내 SQL 스크립트 아래SQL - 예기치 않은 EOF 오류가있는 CSV 파일을 읽습니다.
1,James,Smith,19750101
2,Meggie,Smith,19790122
3,Robert,Smith,20071101
4,Alex,Smith,20040202
the_end
임시 테이블에 데이터를 읽습니다 :
create table #Data
(
id int,
first_name varchar(50),
last_name varchar(50),
birthdate smalldatetime
)
bulk insert #Data
from 'C:\Users\Michał\Desktop\csvtest.csv'
with
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
select * from #Data
drop table #Data
오류는 다음과 같습니다
가 여기 내 CSV 파일입니다
메시지 4832, 수준 16, 상태 1, 줄 13
대량로드 : 예기치 않은 파일 끝이 데이터 파일에서 발견되었습니다.
메시지 7399, 수준 16, 상태 1, 줄 13
연결된 서버 "(null)"의 OLE DB 공급자 "BULK"에서 오류가 발생했습니다. 공급자가 오류에 대한 정보를 제공하지 않았습니다.
메시지 7330, 수준 16, 상태 2, 줄 13
연결된 서버 "(null)"의 OLE DB 공급자 "BULK"에서 행을 가져올 수 없습니다.
마지막 줄 레이블 "the_end"없이 내 테이블에 모든 데이터를 읽고 싶습니다. 어떻게 관리 할 수 있습니까? 이 파일은 외부에서 제공 되었기 때문에 수정할 수 없으며 그렇게 할 수 없습니다.
그것을 복사하고 수정? – Schwern
무엇을 의미합니까? 테이블에 데이터 복사 및 무엇? –
"*이 파일은 외부에서 제공 되었기 때문에 수정할 수 없으며 그렇게 할 수 없습니다. *"파일을 복사하십시오. 문제가되는 줄을 제거하십시오. 복사본을 가져옵니다. – Schwern