Saya tidak berpikir Anda dapat melewati baris dalam format yang berbeda dengan BULK INSERT
/BCP
.
Saat saya menjalankan ini:
TRUNCATE TABLE so1029384
BULK INSERT so1029384
FROM 'C:\Data\test\so1029384.txt'
WITH
(
--FIRSTROW = 2,
FIELDTERMINATOR= '|',
ROWTERMINATOR = '\n'
)
SELECT * FROM so1029384
Saya mendapatkan:
col1 col2 col3
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
***A NICE HEADER HERE***
0000001234 SSNV 00013893-03JUN09
0000005678 ABCD 00013893-03JUN09
0000009112 0000 00013893-03JUN09
0000009112 0000 00013893-03JUN09
Sepertinya memerlukan '|' bahkan di data tajuk, karena terbaca sampai ke kolom pertama - menelan baris baru ke kolom pertama. Jelas jika Anda menyertakan parameter terminator bidang, ia mengharapkan bahwa setiap baris HARUS punya.
Anda dapat menghapus baris dengan langkah pra-pemrosesan. Kemungkinan lain adalah memilih hanya baris yang lengkap, lalu memprosesnya (tidak termasuk header). Atau gunakan alat yang dapat menangani ini, seperti SSIS.