Oracle SQL डेवलपर में csv पर क्वेरी परिणाम कैसे निर्यात करें?


240

मैं Oracle SQL डेवलपर 3.0 का उपयोग कर रहा हूं। एक पाठ फ़ाइल (अधिमानतः सीएसवी) के लिए क्वेरी परिणाम कैसे निर्यात करें, यह जानने की कोशिश कर रहा है। क्वेरी परिणाम विंडो पर राइट क्लिक करने से मुझे कोई निर्यात विकल्प नहीं मिलता है।


जवाबों:


376

संस्करण मैं उपयोग कर रहा हूँ

वैकल्पिक शब्द

अपडेट 5 मई 2012

जेफ स्मिथ ने ब्लॉगिंग दिखाते हुए कहा, मेरा मानना ​​है कि एसक्यूएल डेवलपर से सीएसवी आउटपुट प्राप्त करने के लिए बेहतर तरीका है। जेफ की विधि को विधि 1 के रूप में दिखाया गया है:

विधि 1

/*csv*/अपनी SQL क्वेरी में टिप्पणी जोड़ें और क्वेरी को स्क्रिप्ट के रूप में चलाएं (वर्कशीट टूलबार पर F5 या 2 निष्पादन बटन का उपयोग करके)

यहां छवि विवरण दर्ज करें

बस।

विधि 2

एक क्वेरी चलाएँ

वैकल्पिक शब्द

राइट क्लिक करें और अनलोड करें चुनें।

अपडेट करें। Sql डेवलपर संस्करण 3.0.04 में इसे बाहर इंगित करने के लिए Janis Peisenieks को धन्यवाद निर्यात करने के लिए अनलोड किया गया है

वैकल्पिक शब्द

SQL डेवलपर संस्करण 3.0.04 के लिए संशोधित स्क्रीन शॉट

यहां छवि विवरण दर्ज करें

प्रारूप ड्रॉप डाउन से CSV का चयन करें

वैकल्पिक शब्द

और बाकी स्क्रीन निर्देशों का पालन करें।


25
+1। शब्द "अनलोड" मेरे लिए सहज ज्ञान युक्त लगता है। कुछ डेटा को "लोड" करने के लिए डेटाबेस में डालने का मतलब है; इसलिए "अनलोड" का अर्थ है कि डेटा हटा दिया गया है ...
जेफरी केम्प

8
संस्करण 3.0.04 में इस विकल्प का नाम बदलकर एक्सपोर्ट कर दिया गया है।
Janis Peisenieks

2
महान। पीएस ऊपरी मामला /*CSV*/मेरे लिए काम नहीं करता था, लेकिन निचले मामले /*csv*/ने किया। धन्यवाद!
एरन मेडन

3
इसके अलावा नोट विधि 2 एक बग में चल सकता है (अभी भी मेरे संस्करण 3.0.04 में मौजूद है) जहां यह सिर्फ बड़ी पंक्ति गणना (3K पंक्तियों या तो) के साथ लटका हुआ है। मैं इस पुराने स्कूल SQLPLUS का उपयोग कर रहा हूं क्योंकि मैंने पहले 1 से ऊपर का तरीका नहीं देखा था, लेकिन कुछ इस तरह हो सकते हैं: {code} SET UNDERLINE OFF SET COLSEP ',' SET LINES 20000 PAGES 20000 SET फीचर्ड ऑफ - गोद लेने योग्य सेट बंद स्पूल C: \ Export \ EMP.csv - अब क्वेरी का चयन करें * EMP से; स्पूल ऑफ
जिम पी

1
@topr उपयोग विधि 1, फिर सभी का चयन करें, कॉपी करें और एक पाठ संपादक में पेस्ट करें और सीएसवी के रूप में सहेजें। आप सीधे एक्सेल में पेस्ट करने में सक्षम हो सकते हैं, लेकिन मुझे इस बारे में निश्चित नहीं है।
ट्रैविस

45

बिल्कुल नहीं "निर्यात", लेकिन आप उन ग्रिड में पंक्तियों (या Ctrl- Aउन सभी का चयन करने के लिए) का चयन कर सकते हैं जिन्हें आप निर्यात करना चाहते हैं, और फिर Ctrl- के साथ कॉपी करें C

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

इसके अलावा, अगर आप का उपयोग करें Ctrl- Shift- Cके बजाय Ctrl- C, आप भी कॉलम हेडर कॉपी कर देंगे।


5
भयानक, मैं विशेष रूप से हेडर की नकल करने के बारे में देख रहा था। धन्यवाद!
मिशकिन

3
एकमात्र समस्या, यदि आपके पास बहुत सी पंक्तियाँ हैं, तो इसका मतलब यह होगा कि पूरे डेटासेट को फिर से क्वेरी करना होगा। और यदि यह एक लंबी चलने वाली क्वेरी है, तो इसका मतलब है कि आप पहले पृष्ठ के लिए बहुत प्रतीक्षा करते हैं, और फिर ctrl + A दबाने के बाद सभी पृष्ठों के लिए बहुत प्रतीक्षा करते हैं। दूसरे शब्दों में, महान समाधान, लेकिन ज्यादातर समय काम करता है, और अपेक्षाकृत तेज या छोटे प्रश्नों के लिए।
एरन मेडन

लंबी पंक्ति गणना पर यह आपके कॉपी किए गए सामान को छीन लेगा! इसका उपयोग न करें।
हैश

@ मर्क ने कभी ऐसा नहीं देखा जो खुद हुआ हो। क्या यह केवल पहली 50 पंक्तियों या कुछ ऐसा ही रखता था? यदि ऐसा है तो उसके लिए एक अलग प्राथमिकता है। यह केवल इस बात की प्रतिलिपि बनाता है कि वर्तमान में ग्रिड में क्या है, लेकिन यदि आप ग्रिड के नीचे स्क्रॉल करते हैं तो SQL देव स्वचालित रूप से अधिक पंक्तियों को लाएगा, इसलिए मैं देख सकता हूं कि कोई व्यक्ति बग के रूप में कैसे व्याख्या कर सकता है।
बीक्यू।

1
मैं डेटा की 43K पंक्तियों पर ऐसा करने की कोशिश की और यह हमेशा के लिए चलाता है - निर्यात विकल्प रास्ता तेज। यदि आपके पास डेटा की कुछ पंक्तियाँ हैं तो यह बहुत बढ़िया है।
izikandrw

28

FYI करें, आप /*csv*/ अन्य स्वरूपों के साथ-साथ /*xml*/और के लिए स्थानापन्न कर सकते हैं /*html*/। चयन /*xml*/ * from empउदाहरण के लिए क्वेरी परिणामों के साथ एक xml दस्तावेज़ लौटाएगा। एक क्वेरी से xml वापस करने का एक आसान तरीका ढूंढते हुए मैं इस लेख के पार आया।


4
/ * सम्मिलित करें * / विशेष रूप से उपयोगी है।
jeremyjjbrown

फाइलें कहां जाती हैं?
विसंगति

आह, कोई बात नहीं, मैं "स्क्रिप्ट के रूप में भाग" पर चमकता था, यह एहसास नहीं था कि सामान्य रन बटन से अलग था।
विसंगति

4

FYI करें जो कोई भी समस्याओं में भागता है, CSV टाइमस्टैम्प निर्यात में एक बग है जो मैंने बस कुछ घंटों के आसपास काम करने में बिताया है। कुछ क्षेत्र जिन्हें मुझे निर्यात करने की आवश्यकता थी वे टाइप टाइमस्टैम्प के थे। यह वर्तमान संस्करण (यहां तक ​​कि इस पोस्टिंग के रूप में 3.0.04) में भी CSV निर्यात विकल्प दिखाई देता है, समूहीकरण के प्रतीकों को टाइमस्टैम्प के आसपास रखने में विफल रहता है। टाइमस्टैम्प में रिक्त स्थान के बाद से बहुत निराश होना मेरा आयात टूट गया। मुझे जो सबसे अच्छा वर्कअराउंड मिला, वह था अपने सभी टाइमस्टैम्प पर TO_CHAR () के साथ अपनी क्वेरी लिखना, जो सही आउटपुट देता है, भले ही थोड़े और काम के साथ। मुझे उम्मीद है कि यह किसी को कुछ समय बचाता है या अगली रिलीज के साथ गेंद पर ओरेकल हो जाता है।


1
मेरे संस्करण 3.0.04 में अभी भी एक बग है जहां यह सिर्फ बड़े निर्यात के साथ लटका हुआ है (मेरा 3K पंक्तियां है)। मेरा साधारण फिक्स इसके बजाय SQLPLUS का उपयोग करना था:
जिम पी

मेरे मामले में स्थानिक डेटा प्रकार ( docs.oracle.com/cd/B19306_01/appdev.102/b14255/… ) MDSYS.SDO_GEOMETRY(2001,8307,MDSYS.SDO_POINT_TYPE(-122.39096,37.79251,NULL),NULL,NULL)उद्धरणों में लिपटे बिना इस तरह से निर्यात किया जा रहा है (कॉमा को नोटिस करें) । और मैं गतिशील एसक्यूएल का उपयोग कर रहा हूं इसलिए मैं इन कॉलमों को TO_CHAR () नहीं कर सकता। कोई सुझाव?
लाल मटर

भले ही मैं डायनामिक एसक्यूएल का उपयोग कर रहा हूं और सिर्फ * का चयन कर रहा हूं, (और मैं इसे स्पैटियल डेटाैटिप्स के एकल एसक्यूएल कॉलम के लिए एक अपवाद के लिए संशोधित नहीं करना चाहता), शायद मैं दो चीजों की कोशिश कर सकता हूं: 1) एक अलग COLSEP का उपयोग करें '|', या 2) सेलेक्ट
लाल मटर

2

Sql डेवलपर से अपने स्थानीय सिस्टम में निर्यात करने के लिए।

Path : C:\Source_Table_Extract\des_loan_due_dtls_src_boaf.csv

    SPOOL "Path where you want to save the file"
    SELECT /*csv*/ * FROM TABLE_NAME;

1

CSV Export आपके डेटा से बचता नहीं है। स्ट्रिंग्स के लिए बाहर देखें जो समाप्त होते हैं \क्योंकि परिणामस्वरूप \"बच गए "और ए की तरह दिखेगा \। तब आपके पास गलत संख्या है "और आपकी पूरी पंक्ति टूट गई है।


यह शायद एक बग नहीं है - आप तय कर सकते हैं कि कैसे उद्धरण से बच रहे हैं, और डिफ़ॉल्ट एक और उद्धरण चरित्र के साथ बचने के लिए है, बैकस्लैश नहीं। उस स्थिति में, "foo\"एक पूरी तरह से मान्य स्ट्रिंग है।
केन विलियम्स

यदि आप इसके बारे में पहले से जानते हैं, तो यह प्रत्येक घटना को \\ के साथ बदलने के लिए काफी सरल है। धन्यवाद!
jpaugh

हां, अधिकांश सीएसवी आयात उपकरणों के लिए पर्याप्त सरल और संभावित गलत है।
वॉर्मबो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.