2012-11-19 20 views
16

का संभावित नुकसान है मेरे पास एक एसएसआईएस पैकेज है जो Excel दस्तावेज़ से डेटाबेस तालिका में आयात करता है। मैं निम्नलिखित त्रुटियाँ हो रही है:एसएसआईएस कन्वर्ट नहीं कर सकता क्योंकि डेटा

[Excel Source [1]] Error: There was an error with output column "ShipTo" (47) on output 
"Excel Source Output" (9). The column status returned was: "The value could not be 
converted because of a potential loss of data.". 

[Excel Source [1]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The 
"output column "ShipTo" (47)" failed because error code 0xC0209072 occurred, and the 
error row disposition on "output column "ShipTo" (47)" specifies failure on error. An 
error occurred on the specified object of the specified component. There may be error 
messages posted before this with more information about the failure. 

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method 
on component "Excel Source" (1) returned error code 0xC0209029. The component returned 
a failure code when the pipeline engine called PrimeOutput(). The meaning of the 
failure code is defined by the component, but the error is fatal and the pipeline 
stopped executing. There may be error messages posted before this with more 
information about the failure. 

मैं पढ़ किया है और लेख नहीं मिले यह सुनिश्चित करें कि मेरी डेटाटाइप्स से मेल खाते हैं, और मुझे लगता है कि किया है। एक्सेल दस्तावेज़ में, 184 पंक्तियां हैं, और इन त्रुटियों (शिपो) में सूचीबद्ध कॉलम में उनके सभी का एक ही मान है और यह "सभी" है। मैंने पिछली बार इसमें भाग लिया था, लेकिन यह केवल 4 पंक्तियां थीं जिनमें "सब" था इसलिए मैंने मैन्युअल रूप से उन मानों को दर्ज किया, लेकिन यह इस समय बहुत कुशल नहीं होगा।

गंतव्य तालिका पर, शिप शिप एक वर्चर (20) है, इसलिए मुझे यह नहीं लगता कि आकार एक समस्या है क्योंकि यह तीन चीजों में से एक है: 1 अंक संख्या, 2 अंक संख्या, या सभी शब्द ।

क्या किसी के पास कोई अतिरिक्त विचार है जो मैं कोशिश कर पाऊंगा? कोई भी मदद बहुत ही सराहनीय होगी। किसी भी मदद के लिए धन्यवाद जो किसी भी मदद की पेशकश कर सकते हैं।

उत्तर

21

जब आप पहली बार इस पैकेज को सेट करते हैं, तो मुझे लगता है कि या तो एक या दो अंक संख्या शिपो कॉलम में पहला मान था। एक्सेल से पढ़ने वाले आपके पैकेज ने उस इनपुट फ़ील्ड के लिए एक संख्यात्मक प्रकार चुना और "ऑल" शब्द पैकेज में विफल रहता है क्योंकि उस फ़ील्ड के इनपुट स्पेस संख्यात्मक है। इसे पहले से ठीक करने के कई तरीके हैं, लेकिन तथ्य के बाद इसे ठीक करने के लिए, सबसे आसान तरीका एक्सेल स्रोत पर राइट क्लिक करना है और उन्नत संपादक दिखाएँ चुनें ... वहां से, इनपुट और आउटपुट गुणों वाला टैब चुनें। उस संवाद बॉक्स के इनपुट और आउटपुट अनुभाग के शीर्ष भाग में, कॉलम शिपू खोजें। इसे खोजने के लिए आपको नीचे ड्रिल करना होगा। डेटा टाइप टाइप करें "स्ट्रिंग [DT_STR]" और लंबाई 20 तक।

ठीक क्लिक करें, फिर अपने पैकेज को फिर से चलाने का प्रयास करें।

+0

इस मैं अपने समस्या को हल करने में सक्षम था के साथ, मेरे इस मुद्दे पर आपकी मदद के लिए धन्यवाद। –

+7

मूल रूप से, आपके जेनरेट किए गए मानचित्रण मेटाडेटा "अजीब से बाहर" था। एसएसआईएस में आपका स्वागत है! :) – D3vtr0n

+2

उत्तर के लिए धन्यवाद ... मुझे बहुत समय बचाया। एसएसआईएस के साथ एक्सेल के साथ काम करना गंभीरता से मेरे अस्तित्व का झुकाव है !!! –

1

मेरे पास एक ही समस्या थी, एकल कॉलम में एकाधिक डेटा प्रकार मान, पैकेज लोड केवल संख्यात्मक मान। यह सब शून्य के रूप में अद्यतन रहता है।

समाधान

इस बदलते एक्सेल डेटा प्रकार समाधान में से एक है ठीक करने के लिए। एक्सेल कॉलम डेटा कॉपी करें और अलग-अलग फ़ाइल में पेस्ट करें। उस कॉलम को हटाएं और टेक्स्ट डेटाटाइप के रूप में नया कॉलम डालें और उस प्रतिलिपि किए गए डेटा को नए कॉलम में पेस्ट करें।

SSIS पैकेज में अब हटा सकते हैं और एक्सेल स्रोत और गंतव्य तालिका varchar के रूप में स्तंभ डेटा प्रकार बदलने के पुन:

यह काम करेगा।

1

मेरे लिए बस एसएसआईएस से ओएलई डीबी स्रोत हटा दिया गया और फिर से जोड़ा गया। काम किया!

+0

क्या हो रहा था यह समझ में नहीं आया। खुद को लगाने के लिए प्रतिबद्ध यह एक बार और सभी के लिए बाहर। कुछ गहरे अध्ययन के लिए खुद को तैयार किया। यह देखा। सबकुछ हटा दिया और पढ़ा। यह काम किया। – Ronnie

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