BULK INSERT
で別の形式の行をスキップできるとは思わない /BCP
.
これを実行すると:
TRUNCATE TABLE so1029384
BULK INSERT so1029384
FROM 'C:\Data\test\so1029384.txt'
WITH
(
--FIRSTROW = 2,
FIELDTERMINATOR= '|',
ROWTERMINATOR = '\n'
)
SELECT * FROM so1029384
私は得る:
col1 col2 col3
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
***A NICE HEADER HERE***
0000001234 SSNV 00013893-03JUN09
0000005678 ABCD 00013893-03JUN09
0000009112 0000 00013893-03JUN09
0000009112 0000 00013893-03JUN09
「|」が必要なようですヘッダーデータでも、それまでは最初の列に読み込まれるため、改行が最初の列に飲み込まれます。明らかに、フィールド ターミネータ パラメータを含めると、すべての行が MUST であることが期待されます
前処理ステップで行を削除できます。もう 1 つの可能性は、完全な行のみを選択してから処理することです (ヘッダーを除外します)。または、SSIS など、これを処理できるツールを使用してください。