मुझे लगता है कि आप एसएसआईएस संवाद में एक्सेल स्रोत का उपयोग करके इसे आयात करने का प्रयास कर रहे हैं?
यदि ऐसा है, तो समस्या शायद यह है कि जब एसएसआईएस एक्सेल स्रोत बनाता है तो आपकी स्प्रैडशीट की शुरुआत में कुछ पंक्तियों का नमूना होता है। यदि [लघु विवरण] कॉलम पर यह कुछ भी बहुत बड़ा नहीं देखता है, तो यह 255 वर्ण टेक्स्ट कॉलम में डिफ़ॉल्ट होगा।
तो एक कॉलम से डेटा आयात करने के लिए जिसमें बड़ी मात्रा में डेटा के साथ पंक्तियां हैं, दो विकल्प हैं:
- आपको यह सुनिश्चित करना होगा कि नमूना पंक्तियों में से कम से कम एक [लघु विवरण] कॉलम में 255 वर्णों से अधिक का मान हो। ऐसा करने का एक तरीका REPT() फ़ंक्शन का उपयोग करना है, उदा। =REPT('z', 4000), जो 'z' अक्षर की 4000 की एक स्ट्रिंग बनाएगा।
- ऐसी पंक्ति को शामिल करने के लिए आपको Jet Excel ड्राइवर द्वारा सैंपल की गई पंक्तियों की संख्या बढ़ानी होगी।
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
के अंतर्गत TypeGuessRows का मान बढ़ाकर आप सैंपल की गई पंक्तियों की संख्या बढ़ा सकते हैं (यदि आपका सिस्टम x64 है तोHKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Jet\4.0\Engines\Excel
के तहत )रजिस्ट्री कुंजी.
आप इन दो लिंक पर अधिक जानकारी देख सकते हैं:
- http://waxtadpole.wordpress.com/2008/04 /28/हैलो-वर्ल्ड/
- http://technet.microsoft.com/en-us/ पुस्तकालय/ms141683.aspx
आगे की व्याख्या करने के लिए, SSIS विज़ार्ड के पर्दे के पीछे 3 ऑब्जेक्ट बनाता है, एक एक्सेल डेटा स्रोत ऑब्जेक्ट, एक SQL टेबल डेस्टिनेशन ऑब्जेक्ट और उनके बीच एक डेटा फ्लो ऑपरेटर। एक्सेल स्रोत ऑब्जेक्ट स्रोत डेटा को परिभाषित करता है और अन्य दो ऑब्जेक्ट्स से स्वतंत्र होता है। तो जब इसे बनाया जाता है, तो मैंने जो नमूना वर्णित किया है वह किया जाता है और स्रोत कॉलम आकार सेट होता है। इसलिए जब तक डेटा प्रवाह ऑपरेटर निष्पादित करता है और आपकी तालिका में डालने के लिए एक्सेल से डेटा खींचने की कोशिश करता है, तब तक यह पहले से ही एक डेटा स्रोत को देख रहा है जो 255 वर्णों तक सीमित है।