2011-09-12 19 views
20

पर SQL क्वेरी डेटा निर्यात करें मेरे पास एक क्वेरी है जो एक बहुत बड़ा डेटा सेट देता है। मैं इसे एक्सेल में कॉपी और पेस्ट नहीं कर सकता जो मैं आमतौर पर करता हूं। मैं एक्सेल शीट को सीधे निर्यात करने के तरीके पर कुछ शोध कर रहा हूं। मैं माइक्रोसॉफ्ट सर्वर 2003 चला रहे सर्वर पर SQL सर्वर 2008 चला रहा हूं। मैं Microsoft.Jet.OLEDB.4.0 डेटा प्रदाता और एक्सेल 2007 का उपयोग करने की कोशिश कर रहा हूं। मैंने कोड के एक छोटे टुकड़े को एक साथ जोड़ दिया है जो इस तरह से दिखता है उदाहरणों में देखा है।एक्सेल

INSERT INTO OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 
'Data Source=C:\Working\Book1.xlsx;Extended Properties=EXCEL 12.0;HDR=YES') 
SELECT productid, price FROM dbo.product 

हालांकि इस काम नहीं कर रहा है, मैं

"कीवर्ड 'चुनें' के पास गलत वाक्य रचना" कह एक त्रुटि संदेश मिल रहा है।

क्या किसी के पास इस बारे में कोई विचार है कि यह संभवतः या बेहतर दृष्टिकोण कैसे किया जाए?

+0

आपको 'शीट 1]' के साथ एक शीट निर्दिष्ट करने की भी आवश्यकता हो सकती है, मुझे लगता है कि – JNK

+1

आप [शीट 1] के साथ निर्दिष्ट कर सकते हैं? ओह्ह्ह [शित] !!! – JBone

उत्तर

40

यदि यह आपके लिए क्या देख रहे हैं मैं नहीं जानता, लेकिन आप इस तरह एक्सेल में परिणाम निर्यात कर सकते हैं:

परिणाम फलक में, सभी रिकॉर्ड को उजागर करने के ऊपरी-बाएं सेल क्लिक करें , और फिर शीर्ष-बाएं सेल पर राइट-क्लिक करें और "परिणाम सहेजें" पर क्लिक करें। निर्यात विकल्पों में से एक सीएसवी है।

आप इस एक शॉट भी दे सकता है:

INSERT INTO OPENROWSET 
    ('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=c:\Test.xls;','SELECT productid, price FROM dbo.product') 

अंत में, आप डेटा निर्यात के लिए लघु उद्योगों (प्रतिस्थापित डीटीएस) का उपयोग करते हुए इस पर गौर कर सकते हैं। यहाँ एक ट्यूटोरियल के लिए एक लिंक है:

http://www.accelebrate.com/sql_training/ssis_2008_tutorial.htm

+4

नोट करें कि राइट-क्लिक/सेव करें ... सीएसवी कॉमा या न्यूलाइन वाले टेक्स्ट फ़ील्ड को उद्धृत नहीं करता है। इसलिए यदि आपके किसी भी डेटा में अल्पविराम शामिल हैं तो आप एक विकृत सीएसवी के साथ समाप्त हो जाएंगे। – aucuparia

+0

परिणाम सहेजें क्योंकि कॉलम हेडर निर्यात नहीं करते हैं। – YDS

11

यदि आपको एक्सेल में निर्यात करने की आवश्यकता है, तो आप निर्यात डेटा विज़ार्ड का उपयोग कर सकते हैं। डेटाबेस, कार्य-> निर्यात डेटा पर राइट क्लिक करें।

+1

इसे संग्रहीत प्रक्रिया में रखने के लिए जा रहे हैं और किसी पृष्ठ पर एक ईवेंट के रूप में चलाने के लिए – JBone

1

मैं एक ऐसी ही समस्या थी लेकिन एक मोड़ के साथ - ऊपर सूचीबद्ध समाधान काम किया जब resultset एक क्वेरी से लेकिन मेरी स्थिति में था, मैं एकाधिक व्यक्तिगत चयन प्रश्नों था जिसके लिए मुझे Excel में निर्यात किए जाने वाले परिणामों की आवश्यकता थी। नीचे सिर्फ एक उदाहरण देकर स्पष्ट करने के लिए, हालांकि मैं एक name in खंड कर सकता है उदाहरण है ...

select a,b from Table_A where name = 'x' 
select a,b from Table_A where name = 'y' 
select a,b from Table_A where name = 'z' 

जादूगर दे रहा था मुझे एक क्वेरी से परिणाम निर्यात उत्कृष्टता प्राप्त करने नहीं बल्कि इस मामले में विभिन्न प्रश्नों के सभी परिणामों को।

जब मैंने शोध किया, मैंने पाया कि हम परिणामों को ग्रिड में अक्षम कर सकते हैं और परिणामों को टेक्स्ट सक्षम कर सकते हैं। तो, Ctrl + T दबाएं, फिर सभी कथन निष्पादित करें। यह परिणाम आउटपुट विंडो में एक पाठ फ़ाइल के रूप में दिखाना चाहिए। एक्सेल में आयात करने के लिए आप पाठ को एक टैब सीमित प्रारूप में जोड़ सकते हैं।

आप परिणामों को निर्यात करने के लिए Ctrl + Shift + F दबा सकते हैं - यह एक .rpt फ़ाइल के रूप में निर्यात करता है जिसे टेक्स्ट एडिटर का उपयोग करके खोला जा सकता है और एक्सेल आयात के लिए हेरफेर किया जा सकता है।

आशा है कि इससे किसी अन्य व्यक्ति को समान समस्या होने में मदद मिलेगी।