본문 바로가기

Dev/MS-SQL

[MS-SQL] Text / CSV 파일 DB 업로드

반응형

가끔 작업하다보면 대용량 파일을 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
반응형