मुझे नहीं लगता कि आप 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
ऐसा लगता है कि इसके लिए '|' की आवश्यकता है हेडर डेटा में भी, क्योंकि यह पहले कॉलम में पढ़ता है - पहले कॉलम में एक नई लाइन को निगलना। स्पष्ट रूप से यदि आप फ़ील्ड टर्मिनेटर पैरामीटर शामिल करते हैं, तो यह अपेक्षा करता है कि प्रत्येक पंक्ति जरूरी एक है।
आप पूर्व-प्रसंस्करण चरण के साथ पंक्ति को अलग कर सकते हैं। एक और संभावना है कि केवल पूर्ण पंक्तियों का चयन करें, फिर उन्हें संसाधित करें (शीर्षलेख को छोड़कर)। या किसी ऐसे टूल का उपयोग करें जो इसे संभाल सके, जैसे SSIS।