यहां एक उदाहरण है जो आपको एक विचार दे सकता है कि आप क्या कर सकते हैं। आदर्श रूप में, एक एसएसआईएस पैकेज में या किसी भी ईटीएल नौकरी में, आपको यह ध्यान रखना चाहिए कि डेटा वही नहीं हो सकता है जो आप चाहते हैं। आपको गलत या अमान्य डेटा को संभालने के लिए उचित कदम उठाने की आवश्यकता है जो अब और फिर पॉप अप हो सकता है। यही कारण है कि एसएसआईएस डाटा फ्लो टास्क के भीतर कई बदलाव कार्यों के साथ आता है जिसे आप डेटा को साफ करने के लिए उपयोग कर सकते हैं।
अपने मामले में, आप अपनी आवश्यकताओं को प्राप्त करने के लिए Derived Column
परिवर्तन या Data conversion
परिवर्तन का उपयोग कर सकते हैं।
उदाहरण SSIS 2008 R2
में बनाया गया था। यह दिखाता है कि एक सारणी वाली एक फ्लैट फ़ाइल को कैसे पढ़ा जाए और SQL तालिका में लोड करें।
मैं फ्लैट फ़ाइल डेटा आयात करने के लिए एक सरल एसक्यूएल तालिका बनाया।
SSIS पैकेज पर, मैं फ्लैट फ़ाइल के लिए एसक्यूएल से कनेक्शन प्रबंधक और एक है। नीचे दिखाए गए अनुसार फ्लैट फ़ाइल कनेक्शन कॉन्फ़िगर किया गया है।
SSIS पैकेज पर, मैं नियंत्रण प्रवाह टैब पर डेटा प्रवाह कार्य रखा। अंदर, डेटा प्रवाह कार्य, मेरे पास एक फ्लैट फ़ाइल स्रोत, व्युत्पन्न कॉलम रूपांतरण और एक ओएलई डीबी गंतव्य है। चूंकि फ्लैट फ़ाइल स्रोत और ओएलई डीबी गंतव्य सीधा है, इसलिए मैं उन्हें यहां छोड़ दूंगा।व्युत्पन्न परिवर्तन (DT_DBDATE)SmallDate
अभिव्यक्ति के साथ एक नया स्तंभ बनाता है। ध्यान दें कि आप ऐसा करने के लिए डेटा रूपांतरण परिवर्तन का भी उपयोग कर सकते हैं। यह नया कॉलम SmallDateTimeValue को ओएलई डीबी गंतव्य में डेटाबेस कॉलम में मैप किया जाना चाहिए।
आप इस पैकेज पर अमल करते हैं, यह क्योंकि सभी फाइल में मान मान्य असफल हो जायेगी।
कारण है कि यह आपके मामले में विफल रहता है क्योंकि अमान्य डाटा सीधे तालिका में सम्मिलित किया जाता है। आपके मामले में, तालिका विफल होने के लिए पैकेज को अपवाद फेंक देगा। इस उदाहरण में, पैकेज विफल रहता है क्योंकि व्युत्पन्न कॉलम रूपांतरण पर डिफ़ॉल्ट सेटिंग किसी त्रुटि में घटक को विफल करना है। तो, त्रुटि पंक्तियों को पुनर्निर्देशित करने के लिए चलो एक डमी परिवर्तन रखें। हम इस उद्देश्य के लिए मल्टीकास्ट परिवर्तन करेंगे। यह वास्तव में कुछ भी नहीं करेगा। आदर्श रूप में, आपको ओएलई डीबी गंतव्य या अपनी पसंद के अन्य गंतव्य घटक का उपयोग करके त्रुटि पंक्तियों को किसी अन्य तालिका में रीडायरेक्ट करना चाहिए ताकि आप त्रुटियों का कारण बनने वाले डेटा का विश्लेषण कर सकें।
लाल तीर को व्युत्पन्न परिवर्तन से खींचें और इसे मल्टीकास्ट रूपांतरण से कनेक्ट करें। यह कॉन्फ़िगर त्रुटि आउटपुट संवाद पॉपअप करेगा। विफलता से Redirect row
पर कॉलम त्रुटि और ट्रंकेशन के अंतर्गत मान बदलें। यह किसी भी त्रुटि पंक्तियों को मल्टीकास्ट रूपांतरण में रीडायरेक्ट करेगा और टेबल में नहीं मिलेगा।
अब, अगर हम पैकेज पर अमल, इसे सफलतापूर्वक चलेंगे। प्रत्येक दिशा में प्रदर्शित पंक्तियों की संख्या पर ध्यान दें।
यहाँ डेटा है कि तालिका में मिल गया है। केवल 2 पंक्तियां वैध थीं। आप पहले स्क्रीनशॉट को देख सकते हैं जो फ़ाइल में डेटा दिखाता है और आप देख सकते हैं कि केवल 2 पंक्तियां वैध थीं।
आशा है कि आपको एसएसआईएस पैकेज में अपनी आवश्यकता को लागू करने का विचार दें।
स्क्रीनशॉट शानदार हैं, +1 – eddiegroves