반응형
가끔 작업하다보면 대용량 파일을 DB에 업로드할 일이 생기는데 이럴때 유용하게 사용이 가능할 것 같다.
실제 작업시에 csv 파일이 255MB 였는데 엑셀로 열면 특수문자나 외국어가 많아서 깨지고 난리가 나고 행이 길어서
엑셀에서는 전체 행이 표시가 되지도 않음 아래 쿼리로 실행하면 깔끔하게 업로드가 가능하다.
BEGIN TRANSACTION -- DROP TABLE tblCSV CREATE TABLE tblCSV ( fld1 nvarchar(200 ) NULL, fld2 nvarchar(200 ) NULL, ) BULK INSERT tblCSV FROM 'c:\file.csv' -- 서버의 실제 파일 경로 WITH ( fieldterminator = ',' , -- 컬럼 구분 문자열 rowterminator = '\n' , -- 행 구분 문자열 firstrow = 1 -- 시작 행의 Index를 지정 ) SELECT * FROM tblCSV WITH (NOLOCK) -- ROLLBACK TRANSACTION COMMIT TRANSACTION
반응형