2013-02-05 42 views
9

का उपयोग कर कुछ कॉलम पर ध्यान न दें मैं संरचनाजब बल्क सम्मिलित

field1 field2 field3 field4 
1  2  3  4 

मैं थोक के लिए निम्न स्क्रिप्ट पाठ फ़ाइल सम्मिलित लिखा था के साथ एक अल्पविराम से परे पाठ फ़ाइल है, लेकिन मैं कॉलम 3

बाहर छोड़ना चाहते हैं
create table test (field1 varchar(50),field2 varchar(50),field4 varchar(50)) 
go 
bulk insert test 
from 'c:\myFilePath' 
with 
(fieldterminator=',', 
rowterminator='\n' 
) 

सम्मिलन ठीक काम करता है, लेकिन डालने के परिणाम फ़ील्ड 4 फ़ील्ड 3, फ़ील्ड 4 की तरह दिखते हैं, इसलिए फ़ील्ड 3 वास्तव में फ़ील्ड 4 पर संयोजित था। जिन फ्लैट फाइलों के साथ मैं काम कर रहा हूं वे कई गिग हैं और आसानी से संशोधित नहीं किए जा सकते हैं। क्या थोक सम्मिलन का उपयोग करने का कोई तरीका है लेकिन क्या यह उन स्तंभों को अनदेखा कर देता है जिन्हें तालिका तालिका बनाने में घोषित नहीं किया गया है?

उत्तर

8

आप यह करने के लिए एक प्रारूप फ़ाइल का उपयोग कर सकते हैं:

http://msdn.microsoft.com/en-gb/library/ms178129.aspx

http://msdn.microsoft.com/en-gb/library/ms179250.aspx

या यदि आप एक से थोड़ा Cheekier रास्ता चाहते हैं, बस यह सब आयात और बाद में एक कॉलम ड्रॉप। ;)

+0

मैं बाद में कॉलम ड्रॉप करने के सुझाव के लिए SQL Server 2008 का उपयोग कर रहा हूं। – wootscootinboogie

+5

+1। –

+0

गालियर तरीका मैं सुझाव दूंगा। –

4

आप जबकि थोक डालने कर सकते एक क्षेत्र पर ध्यान न दें, ऐसा करने के insted .. सभी 4 स्तंभ लोड और colum जो आप न छोड़ चाहते

create table test (field1 varchar(50),field2 varchar(50), field3 varchar(50),field4 varchar(50)) 
go 
bulk insert test 
from 'c:\myFilePath' 
with 
(fieldterminator=',', 
rowterminator='\n' 
) 

ALTER TABLE test DROP column [field3] 
7

सबसे आसान तरीका है एक दृश्य बनाने के लिए है कि केवल आपके लिए आवश्यक कॉलम हैं।

फिर उस दृश्य में थोक डालें।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^