Ik denk niet dat je rijen in een ander formaat kunt overslaan met BULK INSERT
/BCP
.
Als ik dit uitvoer:
TRUNCATE TABLE so1029384
BULK INSERT so1029384
FROM 'C:\Data\test\so1029384.txt'
WITH
(
--FIRSTROW = 2,
FIELDTERMINATOR= '|',
ROWTERMINATOR = '\n'
)
SELECT * FROM so1029384
Ik krijg:
col1 col2 col3
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
***A NICE HEADER HERE***
0000001234 SSNV 00013893-03JUN09
0000005678 ABCD 00013893-03JUN09
0000009112 0000 00013893-03JUN09
0000009112 0000 00013893-03JUN09
Het lijkt erop dat het de '|' vereist zelfs in de kopgegevens, omdat het tot dat leest in de eerste kolom - een nieuwe regel opslokken in de eerste kolom. Het is duidelijk dat als u een veldterminatorparameter opneemt, deze verwacht dat elke rij MOET heb er een.
Je zou de rij kunnen strippen met een voorbewerkingsstap. Een andere mogelijkheid is om alleen volledige rijen te selecteren en deze vervolgens te verwerken (exclusief de kop). Of gebruik een tool die dit aankan, zoals SSIS.