2013-05-23 11 views
7

Używam Oracle SQL Developer 2.1.1.64 do buforowania wyników zapytania do pliku tekstowego Oto co używam do wywołania quesry i szpula wynikiDane wyjściowe szpuli programisty Oracle SQL?

SET NEWPAGE 0 
SET SPACE 0 
SET PAGESIZE 0 
SET FEEDBACK OFF 
SET HEADING OFF 
set verify off 
SET ECHO OFF 
spool c:\client\output_sql\t_1001_02_0522_.txt 
@c:\client\queries\t_1001_02_query; 
spool off 

Niestety otrzymuję

@c: \ Client \ zapytań \ t_1001_02_query

w górnej części mojego pliku tekstowego wyjściowego i muszę mieć tylko wyniki. Szukałem w internecie to i próbowałem różnych rzeczy, takich jak: zestaw sprawdza się zestaw termout off

+0

Jeśli dodasz 'SET TERMOUT OFF', to co tu masz, powinno zachowywać się w SQLPlus. Czy możesz użyć tego zamiast programisty SQL? Zauważ też, że kiedy to robię (w SQLPlus), zwykle zaczynam od 'SET ECHO OFF', a następnie' SET TERMOUT OFF', ale nie wiem, czy to naprawdę robi różnicę. –

+0

Nie mam programu SQLPlus. Po uruchomieniu tych poleceń pojawia się pomijany błąd. W każdym razie dzięki. – mooseman

Odpowiedz

4

i odkryli, że jeśli mogę zapisać zapytanie (spool_script_file.sql) oraz połączenia to przy użyciu tego

@c: \ Client \ zapytaniami \ spool_script_file.sql jako skrypt (F5)

moje wyjście jest tylko wyniki z zewnątrz poleceń na górze.

Znalazłem to rozwiązanie na forach oracle.

0

można wyeksportować wyniki kwerendy do pliku tekstowego (lub wstawić sprawozdań, a nawet PDF), klikając prawym -clicking na Query Result rzędu (każdy wiersz) i wybierz polecenie Eksportuj

użyciem SQL Developer 3.0

Zobacz SQL Developer downloads dla najnowszych wersji

+0

Wiem, ale chciałbym uzyskać ten sam wynik bez ręcznego eksportu, ponieważ mam ponad 100 zapytań do uruchomienia. – mooseman

-1

Próbowałem rzeczy, aby powielić szpule, które otrzymujesz z sqlplus. znalazłem następujące i nadzieję, że to pomaga:

Utwórz plik sql skrypt IE:

Zwróć uwagę, echo i serveroutput.

Test_Spool.SQL

Spool 'c:\temp\Test1.txt'; 
set echo on; 
set serveroutput on; 
declare 
sqlresult varchar2(60); 

begin 
    select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') into sqlresult from dual; 
    dbms_output.put_line('The date is ' || sqlresult); 
end; 

/

Spool off; 
set serveroutput off; 
set echo off; 

Uruchom skrypt z innego arkusza:

@TEST_Spool.SQL 

moje wyjście z Test1.txt

set serveroutput on 
declare 
sqlresult varchar2(60); 

begin 
    select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') into sqlresult from dual; 
    dbms_output.put_line('The date is ' || sqlresult); 
end; 

anonimowy blok zakończone

Dzisiaj jest 2016-04-07 09:21:32

szpuli

0

Innym sposobem prostszym niż ja współpracował z SQL Developer 4 w Windows 7

spool "path_to_file\\filename.txt" 
query to execute 
spool of 

Musisz wykonać go jako skrypt, ponieważ jeśli nie tylko zapytanie zostanie zapisane w pliku wyjściowym W nazwie ścieżki używam podwójnego znaku "\" jako separatora podczas pracy z Windows i SQL, Plik wyjściowy wyświetli zapytanie i wynik .

+0

Ale tak jak powiedziałem, potrzebuję tylko wyników, nic więcej w pliku wyjściowym. – mooseman

0

Do buforowania w programie Oracle SQL Developer, tutaj jest rozwiązanie.

pozycji na

zestaw linesize 1500

ustawionej colsep zestaw '|'

zestaw numformat +99999999999999999999

zestaw wielkość_strony 25000

szpula e: \ abc.txt

@E: \ abc.sql;

szpula off

Podpowiedź jest:

  1. gdy szpula z SQL * Plus, wówczas wymagana jest cała zapytania.

  2. kiedy przechodzimy od programisty Oracle Sql, a następnie ścieżka referencyjna zapytania jest wymagana tak, jak podano w podanym przykładzie.