Jag tror inte att du kan hoppa över rader i ett annat format med BULK INSERT
/BCP
.
När jag kör detta:
TRUNCATE TABLE so1029384
BULK INSERT so1029384
FROM 'C:\Data\test\so1029384.txt'
WITH
(
--FIRSTROW = 2,
FIELDTERMINATOR= '|',
ROWTERMINATOR = '\n'
)
SELECT * FROM so1029384
Jag får:
col1 col2 col3
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
***A NICE HEADER HERE***
0000001234 SSNV 00013893-03JUN09
0000005678 ABCD 00013893-03JUN09
0000009112 0000 00013893-03JUN09
0000009112 0000 00013893-03JUN09
Det verkar som om det kräver '|' även i rubrikdata, eftersom den läser upp till det i den första kolumnen - sväljer en ny rad i den första kolumnen. Om du inkluderar en fältavslutningsparameter förväntar den sig självklart att varje rad MÅSTE har en.
Du kan ta bort raden med ett förbearbetningssteg. En annan möjlighet är att bara välja kompletta rader och sedan bearbeta dem (exklusive rubriken). Eller använd ett verktyg som kan hantera detta, som SSIS.