2011-10-26 13 views
5

एक लघु उद्योगों परियोजना निश्चित तालिका क्षेत्रों nvarchar(30)लघु उद्योगों OLEDB कनेक्टर

हालांकि, जब SSIS पैकेज चल रहा है, एक त्रुटि cannot convert from unicode to non-unicode प्रकट होता है बताते हुए को char(30) से बदल के माध्यम से आधे रास्ते के साथ गलत स्तंभ प्रकार हो रही है। मैं डेटाबेस स्रोत से सीधे अपने गंतव्य तक डेटा स्थानांतरित करने का प्रयास कर रहा हूं।

दोनों कनेक्शन एक ही डेटाबेस स्कीमा का उपयोग करते हैं, इसलिए कोई रूपांतरण नहीं होना चाहिए।

बाहरी कॉलम डेटा प्रकार की जांच करते समय यह D_STR दिखाता है, जो अब और मामला नहीं है।

मैंने उम्मीद में स्रोत और गंतव्य दोनों को हटाने की कोशिश की कि यह किसी भी प्रकार के कैश किए गए डेटा को साफ करेगा, लेकिन यह काम नहीं करता है।

कोई भी विचार?

उत्तर

16

मुझे लगता है कि आपके डेटा प्रवाह कार्य में मेटाडेटा कैश किया गया है और नए प्रकार को प्रतिबिंबित करने के लिए ताज़ा करने की आवश्यकता है।

स्रोत खोलें, कॉलम पर जाएं, और कॉलम को अनचेक करें, फिर कॉलम देखें। ओके पर क्लिक करें। मेटाडाटा अब रीफ्रेश करना चाहिए।

+0

था। मुझे प्रवाह में कैश किए गए मेटाडेटा को रीसेट करने का कोई तरीका नहीं मिला, लेकिन यह चाल है। हालांकि ऐसा करना बहुत बुरा है, क्योंकि किसी को गंतव्य में मैपिंग को फिर से बनाना है: एस – cfrag

+1

प्रत्येक कॉलम को एक पाइप के रूप में सोचें जो डेटा बह जाएगा। डिजाइन समय पर, आपने एसएसआईएस को बताया कि आपको इसके माध्यम से 30 बाइट प्रवाह देने में सक्षम पाइप की आवश्यकता है। फिर, रन टाइम पर, आपने 30 बाइट पाइप के माध्यम से 60 बाइट्स को क्रैक करने की कोशिश की। कॉलम को अनचेक करके, फिर पुन: जांच करके, आपने डेटा की समीक्षा करने और 60 बाइट पाइप के साथ 30 को प्रतिस्थापित करने के लिए एसएसआईएस को मजबूर कर दिया। – brian

+3

मैं मेटाडेटा की आवश्यकता को समझता हूं। जो मैं समझता हूं वह "आकार बदलने" को मजबूर करने के लिए "रीफ्रेश कॉलम मेटाडेटा" बटन की कमी है। इसके बजाय किसी को पूरे पाइपिंग को फिर से करना होगा। – cfrag

1

nvarchar और nchar यूनिकोड हैं। इसके विपरीत, वर्कर और चार गैर-यूनिकोड हैं।

http://msdn.microsoft.com/en-us/library/ms187752.aspx

परिणामस्वरूप यदि आप किसी अन्य आपको कुछ अतिरिक्त परिवर्तन (कास्ट या रूपांतरित) प्रदर्शन करना होगा करने के लिए एक डेटा प्रकार से डेटा आगे बढ़ रहे हैं के रूप में। दूसरा विकल्प आपके एडेप्टर को देखने के लिए ऐसी है कि चार डीटी-एसटीआर की लघु उद्योगों डेटा प्रकार का उपयोग करेगा और nvarchar लघु उद्योगों डेटा प्रकार डीटी-WSTR

http://msdn.microsoft.com/en-us/library/ms141036.aspx

का उपयोग करेगा जानते हुए भी कि कैसे अपने संकुल काम के बिना मैं और अधिक विशिष्ट नहीं किया जा सकता है लेकिन उम्मीद है कि यह आपको जा रहा है।

+0

मैं डेटा परिवर्तित नहीं कर रहा था। पैकेज दोनों तालिकाओं के सटीक कॉलम के साथ एक सरल "तालिका ए से तालिका बी" में एक सरल था। क्या हुआ कि, समय पर एक निश्चित बिंदु पर, दोनों तालिकाओं ने उस विशेष कॉलम को बदल दिया, लेकिन एसएसआईएस को यह नोटिस नहीं हुआ कि यह – cfrag

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