समाधान अवलोकन
आप एक Flat File Connection Manager
जोड़कर ऐसा कर सकते हैं डेटा प्रकार के साथ केवल एक कॉलम जोड़ें DT_WSTR
और लंबाई 4000
(इसका नाम मानते हुए Column0
. है ) - तो सभी कॉलम को एक बड़ा कॉलम माना जाता है
Dataflow task
में एकScript Component
जोड़ेंFlat File Source
. के बाद- चिह्न में
Column0
इनपुट कॉलम के रूप में और 17 आउटपुट कॉलम जोड़ें Input0_ProcessInputRow
. में विधि विभाजनColumn0
सीमांकक द्वारा, फिर जांचें कि क्या सरणी की लंबाई =17 है, फिर आउटपुट कॉलम को मान असाइन करें, अन्यथा पंक्ति को अनदेखा करें।
विस्तृत समाधान
- फ्लैट फ़ाइल कनेक्शन प्रबंधक जोड़ें, टेक्स्ट फ़ाइल चुनें
- उन्नत टैब पर जाएं , एक कॉलम को छोड़कर सभी कॉलम हटाएं
- रेमियानिंग कॉलम के डेटाटाइप को
DT_WSTR
में बदलें और लंबाई =4000
- डेटाफ़्लो टास्क जोड़ें
- डेटा प्रवाह कार्य के अंदर एक फ्लैट फ़ाइल स्रोत, स्क्रिप्ट घटक और OLEDB गंतव्य जोड़ें
- स्क्रिप्ट घटक में
Column0
Select चुनें इनपुट कॉलम के रूप में
- 17 आउटपुट कॉलम जोड़ें (इष्टतम आउटपुट कॉलम)
OutputBuffer
बदलेंSynchronousInput
None
. के लिए संपत्ति
- स्क्रिप्ट भाषा को
Visual Basic
के लिए चुनें
-
स्क्रिप्ट एडिटर में निम्नलिखित स्क्रिप्ट लिखें
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) If Not Row.Column0_IsNull AndAlso Not String.IsNullOrEmpty(Row.Column0.Trim) Then Dim strColumns As String() = Row.Column0.Split(CChar(";")) If strColumns.Length <> 17 Then Exit Sub Output0Buffer.AddRow() Output0Buffer.Column = strColumns(0) Output0Buffer.Column1 = strColumns(1) Output0Buffer.Column2 = strColumns(2) Output0Buffer.Column3 = strColumns(3) Output0Buffer.Column4 = strColumns(4) Output0Buffer.Column5 = strColumns(5) Output0Buffer.Column6 = strColumns(6) Output0Buffer.Column7 = strColumns(7) Output0Buffer.Column8 = strColumns(8) Output0Buffer.Column9 = strColumns(9) Output0Buffer.Column10 = strColumns(10) Output0Buffer.Column11 = strColumns(11) Output0Buffer.Column12 = strColumns(12) Output0Buffer.Column13 = strColumns(13) Output0Buffer.Column14 = strColumns(14) Output0Buffer.Column15 = strColumns(15) Output0Buffer.Column16 = strColumns(16) End If End Sub
-
आउटपुट कॉलम को डेस्टिनेशन कॉलम में मैप करें