«

»

Dec 24

Import pliku CSV do SQL Server

Podczas analizy olbrzymiej ilości danych zdarza się, że edytory tekstu i regexp nie dają, wtedy, jedną z metod jest bulk insert danych z pliku do tabeli. Metoda bardzo wydajna, pozwalająca po imporcie swobodnie korzystać z dobrodziejstw SQL Server.


BULK INSERT TempTable FROM 'C:\Data\data.csv'
WITH(
    FIRSTROW =2,
    LASTROW =10,
    FIELDTERMINATOR =',',--CSV field delimiter
    ROWTERMINATOR ='\n',--Use to shift the control to next row
    ERRORFILE ='C:\data_errorRows.csv',
    TABLOCK
    )

Gdzie,

  • FIRSTROW – oznacza od którego wiersza dane będą importowane. Pozwala to ominąć nagłówek danych albo, w połączeniu z opcją LASTROW dokonać importu wybranej części danych
  • LASTROW – wskazuje na ostatni importowany wiersz
  • FIELDTERMINATOR – separator kolejnych pól
  • ROWTERMINATOR – znak końca linii w importowanym pliku
  • ERRORFILE – w tym pliku znajdą się rekordy, których nie udało się zaimportować.
  • TABLOCK – zakłada blokadę na tabeli, do czasu wykonania importu. Znacząco przyspiesza import danych