2013-03-06 13 views

cevap

46

makara kullanın: Bu SQL * Plus çalıştırdığınız dizinde myoutputfile.txt yaratacağı

spool myoutputfile.txt 
select * from users; 
spool off; 

Not.

bir SQL dosyasından bu çalıştırmanız gerekirse (örneğin, "tmp.sql") SQLPlus başlar ve "output.txt" adlı bir dosyaya çıktı:

tmp.sql:

select * from users; 

Komut: ben senden yazdıklarını hata ayıklamak için kendi çalışmalar yapmak gerekebilir, böylece

sqlplus -s username/[email protected] @tmp.sql > output.txt 

Zihin, ben, şu an karşımda Oracle örneği yok bellek. Marc çok benzer

+0

teşekkür ederim ama ben sorabilir \ test \ sınama.txt nerede spool dosyası myoutputfile.txt olduğunu bulun? Ayrıca, kullanıcının makarayı çalıştırma izni yok mu? – Dreamer

+0

Ayrıca özellikle Windows'ta çıktı dosyasının bir yolunu/klasörünü nasıl belirleyebiliriz? – Dreamer

+2

Makara çıktısının alınacağı dizinden 'sqlplus.exe'yi çalıştırmak dışında makaranın nereye yazılacağını belirten şansım olmadı. – Marc

14

, ben yapacak tek fark şöyle bir parametreye biriktirmek olacaktır: o zaman

WHENEVER SQLERROR EXIT 1 
SET LINES 32000 
SET TERMOUT OFF ECHO OFF NEWP 0 SPA 0 PAGES 0 FEED OFF HEAD OFF TRIMS ON TAB OFF 
SET SERVEROUTPUT ON 

spool &1 

-- Code 

spool off 
exit 

Ve Cevap yapmak

sqlplus -s username/[email protected] @tmp.sql /tmp/output.txt 
+0

Yep. 0 'set sayfalarını,' trimspool'u aç 'vb. Ekleyecektim. Ama sonra soru değişti ve başka bir şeyi kovalamak zorunda kaldım! İyi öneriler olsa da. – Marc

+0

Teşekkürler John, sürümünüz temiz SQL çıkışı döndürüyor –

2

olarak Sqlplus çağırmak Eğer t sonra kaydedilen dosyayı

spool /home/admin/myoutputfile.txt 
    select * from table_name; 
    spool off; 

koyabilirsiniz nereye 2 çok daha kolay, ayrıca klasör tanımlayabilirsiniz sadece nano veya vi myoutputfile.txt ile şapka, tüm sql parçasını göreceksiniz.

umut o yardım :) olduğunu

2
spool "D:\test\test.txt" 

select 
    a.ename 
from 
    employee a 
inner join department b 
on 
( 
    a.dept_id = b.dept_id 
) 
; 
spool off 

D sql sonucu biriktirmek Bu sorgu: