2014-09-24 7 views
5

से निर्यात करने का प्रयास करते समय रिक्त फाइल लौटाता है मेरे पास क्वेरी की एक श्रृंखला है जिसे मैं .csv फ़ाइलों में आउटपुट करना चाहता हूं। डेटाबेस को क्वेरी करने के लिए मुझे एकमात्र टूल एसक्यूएल डेवलपर है।एसक्यूएल एसक्यूएल डेवलपर

मैं प्रत्येक क्वेरी चला सकता हूं और फिर फ़ाइलों को लिखने के लिए एसक्यूएल डेवलपर में निर्यात संवाद का उपयोग कर सकता हूं, लेकिन यह बोझिल है, खासकर जब इसे हर दिन कई फाइलों के लिए किया जाना चाहिए।

यह कुछ लोगों को Directly export a query to CSV using SQL Developer

लिए काम करता है लेकिन यह मेरे लिए काम नहीं करता।

उदाहरण के लिए, अगर मैं SQL डेवलपर की स्क्रिप्ट उत्पादन फलक में

spool "C:\Users\james.foreman\Downloads\Temp\myfile.csv" 

select distinct placement_type 
FROM jf_placements; 

spool off; 

तो कोशिश, मैं

देख

नहीं बनाई जा सकती SPOOL फ़ाइल C: \ Users \ james.foreman \ डाउनलोड \ अस्थायी \ myfile.csv

और हालांकि myfile.csv बनाया गया है, तो कोई परिणाम नहीं है। (क्वेरी द्वारा दो पंक्तियां लौटा दी गई हैं।)

मेरा पहला विचार यह था कि सी: \ उपयोगकर्ता \ james.foreman \ डाउनलोड \ Temp पर एक अनुमति जारी करने की अनुमति थी, लेकिन ऐसा लगता है कि यह मामला नहीं है , क्योंकि अगर मैं myfile.csv को हटाता हूं और फिर SQL चलाता हूं, तो myfile.csv फ़ाइल को पुनर्निर्मित किया जाता है, लेकिन इसमें कभी भी कुछ भी नहीं है।

तो मुझे लगता है कि यह एक विन्यास समस्या है, या तो विंडोज मशीन के साथ मैं SQL डेवलपर चालू कर रहा हूं, या मेरे एसक्यूएल डेवलपर सेट अप के साथ। मुझे आगे की जांच करने के लिए कहां देखना चाहिए?

@ डेवोलस का जवाब Procedure to export table to multiple csv files में निर्देश शामिल है "SQL विंडो में राइट क्लिक करें -> विंडो को बदलें -> कमांड विंडो" पर क्लिक करें, लेकिन अगर मैं SQL विंडो पर राइट क्लिक करता हूं, तो मुझे चेंज विंडो विकल्प नहीं दिख रहा है ।

(विंडोज 7 चल रहा है, SQL डेवलपर संस्करण 4.0.2.15, बिल्ड 15.21, डेटाबेस Oracle 11.2 है)

+0

क्या आप इसे 'एसक्यूएल * प्लस' से भी आज़मा सकते हैं और देख सकते हैं कि इस बार फ़ाइल में सामग्री है या नहीं। –

+0

हाय, मैं नहीं कर सकता; मेरे पास केवल इस मशीन पर एसक्यूएल डेवलपर है और एसक्यूएल * प्लस नहीं है। – JamesF

+0

मेरा जवाब देखें। 'एसक्यूएल * प्लस' के संबंध में, मैं बस आपको सत्यापित करना चाहता था। कोई समस्या नहीं, बस जवाब का पालन करें। –

उत्तर

5

तथ्य यह है कि फ़ाइल बनाई गई है, लेकिन कोई डेटा, शायद, पिछले बयान है, SPOOL OFF नहीं है अभी तक निष्पादित स्क्रिप्ट में एक नई लाइन जोड़ें और पुनः प्रयास करें।

उदाहरण के लिए, अपनी स्क्रिप्ट दिखाई देगा:

spool "C:\Users\james.foreman\Downloads\Temp\myfile.csv" 

    select distinct placement_type 
    FROM jf_placements 
    /

    spool off 
    /

-- need a new line to make sure spool off executes 
+0

धन्यवाद - अब परिणाम फ़ाइल में SQL क्वेरी है। हालांकि मैं इसके चारों ओर अन्य प्रश्नों से देखता हूं कि एक स्क्रिप्ट से चलने के लिए बदलना उसके लिए हल करना चाहिए। – JamesF

+0

प्रतिक्रिया के लिए धन्यवाद। हां, आप सामग्री को '.sql' स्क्रिप्ट के अंदर रख सकते हैं और स्क्रिप्ट निष्पादित कर सकते हैं। –

+0

'ओरेकल एसक्यूएल डेवलपर' में कथन को स्क्रिप्ट के रूप में चलाएं यानी "रन स्टेटमेंट" के बजाय "रन स्क्रिप्ट" दबाएं या आप F5 दबा सकते हैं। –

2

जब आप अपनी स्क्रिप्ट चलाने, "भागो स्क्रिप्ट" के बदले "भागो स्टेटमेंट" प्रेस या आप F5 दबाएँ कर सकते हैं।

यह मेरी समस्या तय, आशा है कि आप भी इसे अपना

1

ठीक कर सकते हैं मेरे मामले में, यह दो बातें ले लिया समस्या को ठीक करने के लिए:

  • एक स्क्रिप्ट से चल रहा है (@C का उपयोग कर: \ फ़ाइल। एसक्यूएल अंकन)
  • SQL डेवलपर

मैं SQL डेवलपर 3.2.20.09 (चल रहा था काम नहीं करता है) के नवीनतम संस्करण के उन्नयन, और अब का उपयोग 4.0.2.51 (ठीक उसी स्क्रिप्ट काम करता है)।

इसके अलावा,

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