2013-04-08 10 views
13

मेरे पास आयात और निर्यात डेटा टूल का उपयोग कर एक्सेल से SQL सर्वर में डेटा आयात करने के साथ एक अजीब बात हो रही है।एक्सेल से SQL सर्वर तक डेटा आयात सभी डेटा आयात करने में विफल रहा

इसका छोटा यह है कि मैं एक्सेल में डेटा देख सकता हूं, लेकिन सभी डेटा आयात नहीं करते हैं।

मेरे पास एक स्प्रेडशीट युक्त एक्सेल कार्यपुस्तिका है। मैं कॉलम में डेटा देख सकता हूं और सबकुछ अच्छा दिखता है। जब मैं डेटा आयात करने के लिए आयात विज़ार्ड का उपयोग करता हूं, तो मैं कॉलम और पूर्वावलोकन डेटा देख सकता हूं, लेकिन आयात निष्पादित होने पर डेटा को स्थानांतरित नहीं किया जाता है। कोई त्रुटि नहीं है और आयात प्रक्रिया समाप्त होती है - यह केवल तालिका में शून्य मानों का एक गुच्छा डालती है।

ऐसा लगता है कि संख्याओं के साथ सबसे अधिक होता है - तो मान लें कि मेरे पास पहले नाम, अंतिम नाम और आईडी नंबर के लिए तीन कॉलम हैं। मुझे पहले और अंतिम नाम, और कुछ आईडी संख्याएं मिलेंगी। मुझे क्या हो रहा है के लिए एक पैटर्न नहीं मिल रहा है।

मैंने यह एक बार पहले किया था और मैंने देखा कि आयात प्रक्रिया के दौरान से चुनने के लिए दो स्प्रैडशीट्स थीं: डेटा आयात और डेटा आयात $ - और पहला वर्ण ऊपर वर्णित विफल हो जाएगा और दूसरा एक दोषपूर्ण रूप से आयात करेगा। इस बार चयन करने के लिए केवल एक स्प्रेडशीट है।

मैं मुख्य रूप से एक 64-बिट सिस्टम पर एक एक्सएलएस दस्तावेज़ और 32-बिट आयात विज़ार्ड का उपयोग कर रहा हूं, लेकिन मैं कुछ भी करने की कोशिश करता हूं।

कोई विचार क्यों दो स्प्रैडशीट्स (कभी-कभी) हैं और यह आयात क्यों विफल हो जाएगा?

डेव

+1

क्या आप सटीक डेटा रेंज की प्रतिलिपि बनाने और फिर एक नई एक्सेल फ़ाइल बनाने की कोशिश कर सकते हैं, लेकिन डेटा चिपकाने से पहले आप नई बनाई गई एक्सेल फ़ाइल की कोशिकाओं के प्रारूप को पाठ के रूप में सेट कर सकते हैं और इस नई फ़ाइल को आयात करने का प्रयास कर सकते हैं। –

+1

मैंने सामान्य स्वरूप में सभी स्वरूपण को बदलने की कोशिश की है और इससे मदद नहीं मिली है। मैंने नोटिस किया कि कुछ संख्यात्मक क्षेत्रों में थोड़ा त्रिकोण होता है जो दर्शाता है कि आसन्न कोशिकाएं संख्याएं हैं और यह टेक्स्ट है, इसलिए मैंने कॉलम स्वरूपण को एक या दूसरे के रूप में बदलने की कोशिश की। परिणाम में कोई बदलाव नहीं है, हालांकि। मैंने डेटा को एक नई स्प्रेडशीट में कॉपी और पेस्ट करने की कोशिश नहीं की है, लेकिन मैं इसे आज़मा सकता हूं। मैं आपको बता दूंगा कि यह कुछ मिनटों में कैसे जाता है। –

+1

कोई भाग्य नहीं। कॉपी और पेस्ट चाल काम नहीं किया। मैंने देखा कि विफल होने वाले कॉलम में तीन सही पंक्तियां हैं, फिर एक पंक्ति जो रिक्त होने वाली है (उस आईडी कॉलम के लिए) और फिर उसके बाद कुछ भी आयात नहीं किया जाता है (उस आईडी कॉलम के लिए)। इसके अलावा, अगर यह मायने रखता है तो मैं एक्सेल 2013 का उपयोग कर रहा हूं। –

उत्तर

0

आप आयात विज़ार्ड का उपयोग कर रहे हैं, नहीं? विज़ार्ड के "स्रोत तालिका और दृश्य" पृष्ठ पर Edit Mappings पर क्लिक करें, और प्रत्येक स्रोत कॉलम के लिए प्रकार, शून्य और आकार कॉलम देखें। ऐसा लगता है कि कुछ ठीक से मैप नहीं हो रहा है।

+0

हाँ, मैं विज़ार्ड का उपयोग कर रहा हूं। हर बार जब मैं मैन्युअल रूप से मैपिंग (या कुछ मामलों में बना) मैन्युअल रूप से जांचता हूं तो मुझे पूरा यकीन है कि वे सही हैं। मैंने वर्षों में लाखों पंक्तियों को स्थानांतरित करने के लिए एक्सेल का उपयोग किया है, लेकिन मेरे पास एक क्लाइंट है जो एक आयात फ़ाइल प्रदान करता है जो हमेशा काम नहीं करता है, इसलिए मुझे नुकसान हुआ है। –

0

संभवतः अनुमानित रूप से रिक्त पंक्ति SQL सर्वर को शेष डेटा को अनदेखा करने का कारण बनती है। यह सुनिश्चित करने के लिए Bu क्या आप एक्सेल फ़ाइल और पहली पांच पंक्तियों की स्कीमा साझा कर सकते हैं? सही तीन और अगले दो रिकॉर्ड।

+0

दुर्भाग्यवश मैं इस स्प्रेडशीट को साझा नहीं कर सकता - और मेरा सिद्धांत यह है कि स्प्रैडशीट को मैन्युअल रूप से संपादित करने से डेटा दूषित हो जाता है, मुझे नहीं पता कि इसे संपादित करना और इसे अपलोड करना मूल्य का होगा। मैं इसे आज़मा सकता हूं, हालांकि, अगर आपको लगता है कि इससे मदद मिलेगी। –

+0

क्या आप एक्सेल फ़ाइल को सीएसवी के रूप में सहेजने और इसे सीएसवी फ़ाइल के रूप में आयात करने का प्रयास कर सकते हैं? यह हमें इस मुद्दे के कारणों की गहरी समझ दे सकता है। –

+0

मैंने फ़ाइल को एक टैब-डिलीमिट फ़ाइल के रूप में निर्यात किया और फिर इसे पुनः आयात किया और यह काम किया। यह समाधान आखिरकार लंबे समय तक काम करेगा, लेकिन मुझे यह जानने में दिलचस्पी है कि Excel क्यों विफल रहा है। –

32

आपके प्रश्न का उत्तर में Excel डेटा को Excel में संग्रहीत किया जा सकता है।

मैं बस एक ही समस्या में भाग गया। मेरे पास दो प्रकार के मान वाले कॉलम थे: संख्यात्मक और संख्यात्मक एक डैश के साथ। (उदा। 51000 और 200 9 -00949) मुझे उन्हें एनवीएआरएआरएआर या वर्चर के रूप में आयात करने की आवश्यकता थी, लेकिन एसक्यूएल आयात विज़ार्ड (एसक्यूएल 2005) केवल संख्याओं को आयात करेगा, न कि संख्याओं को डैश या संख्याओं के साथ एक डैश के साथ और संख्यात्मक नहीं , इस पर निर्भर करता है कि किस प्रकार के पहले रिकॉर्ड में था। जिन मूल्यों को आयात नहीं किया गया था, उनके पास फ़ील्ड में 'शून्य' मान होगा, जो मेरे रिकॉर्ड बेकार हो जाएगा।

मैंने सफलता के बिना एक्सेल (न्यूमेरिक, टेक्स्ट, सामान्य, आदि) में प्रारूप | सेल मेनू विकल्प और SQL (nvar, nvarchar, varchar, sqlvariant, float) में विभिन्न मानचित्रण विकल्पों का उपयोग करने का प्रयास किया।

समाधान Excel में डेटा | टेक्स्ट टू कॉलम विकल्प का उपयोग करना था, संख्यात्मक मान को पाठ के रूप में संग्रहीत करने के लिए सेल स्वरूपण विकल्प नहीं। जब मैंने कॉलम पर इसका इस्तेमाल किया, तो संख्यात्मक मान (उदा। 51000) टेक्स्ट मान के रूप में संग्रहीत संख्याओं में परिवर्तित हो गए (ऊपरी बाएं कोने में छोटी हरी त्रिकोण त्रुटि दिखाई दी), एक डैश वाला संख्या टेक्स्ट के रूप में बनी रही। मुझे इस प्रारूप में डेटा को थोड़ा हरा त्रिभुज त्रुटि के साथ छोड़ना पड़ा, अन्यथा यह सफलतापूर्वक एसक्यूएल में आयात नहीं करेगा। जब कॉलम में डेटा इस प्रारूप में संग्रहीत किया गया था, तो दो प्रकार के कॉलम डेटा (एक डैश के साथ संख्यात्मक और संख्यात्मक) अन्य रिकॉर्ड डेटा के साथ सही ढंग से आयात किया गया था, कॉलम में कोई शून्य मान नहीं था।

+1

मैं इस सप्ताह फिर से इस मुद्दे पर काम कर रहा था, इसलिए आपका जवाब समय पर है। मैंने जो बात देखी है वह यह है कि स्प्रेडशीट को स्वरूपित करने में मदद मिलती है, लेकिन यह मूर्खतापूर्ण नहीं है। मेरे पास कुछ ऐसे मामले हैं जहां आपके द्वारा वर्णित डेटा स्वरूपित करने में सहायता करता है और कुछ ऐसा नहीं करता है। और मुझे इसके पीछे कविता या कारण नहीं मिल रहा है। –

+2

+100! प्रतिभाशाली। मैं इसे हमेशा के लिए लड़ रहा हूं और समाधान इतना आसान है। काश मैं इसके बारे में सोचा होगा। धन्यवाद! –

+1

धन्यवाद! यह मुझे पागल कर रहा था, और डेटा | कॉल टू टेक्स्ट कॉलम था! – Neil

1

मेरी समस्या यह थी कि जिस फ़ाइल को मैं आयात कर रहा था वह पुरानी और कुछ हद तक खराब फ़ाइल थी। मैंने फ़ाइल खोल दी और इसे .xlsx के रूप में सहेजा और फ़ाइल को उसके बाद बिना किसी शून्य डेटा के सफलतापूर्वक आयात किया गया।

0

उस कॉलम की सभी पंक्तियों का चयन करें और एक्सेल में टेक्स्ट को टाइप करें, फिर पूरे कॉलम का चयन करें और टेक्स्ट को टाइप करें निश्चित रूप से काम करेगा।

0

मुझे भी समस्या है। एकमात्र तरीका जिसे मैं हल करने में सक्षम था, .xlsx फ़ाइलों को .csv फ़ाइलों के रूप में सहेजना था और फिर SQL सर्वर "आयात डेटा" में .csv फ़ाइलों का उपयोग करना था।

ऐसा लगता है कि माइक्रोसॉफ्ट एक्सेल और माइक्रोसॉफ्ट एसक्यूएल सर्वर के बीच एकीकरण क्लीनर होगा।

मेरे संस्करण हैं: एक्सेल 2013 एसक्यूएल सर्वर 2012

+1

मैं सीएसवी का उपयोग नहीं कर सकता, लेकिन एक्सएलएसएक्स को एक्सएलएस के रूप में सहेज रहा हूं और 32-लेकिन आयात प्रोग्राम का उपयोग करके मुझे कुछ विश्वसनीय परिणाम मिलते हैं। –

1

मैं डेटा छँटाई ताकि पाठ डेटा शीर्ष पर था द्वारा समस्या को हल करने में सक्षम था। इस तरह एसक्यूएल सर्वर जानता था कि यह टेक्स्ट डेटा था, संख्यात्मक डेटा नहीं।

0

मुझे का उपयोग कर बिल्कुल एक ही समस्या का सामना करना पड़ा .xlsx फ़ाइल ने मेरी समस्या हल की।

0

अंत में सामान्य रूप से कोशिकाओं को स्वरूपित करना मेरे लिए काम करता है जहां संख्यात्मक मूल्य होता है, इससे पहले यह% s दिखा रहा था लेकिन अब यह हल हो गया है।

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