2013-05-23 20 views
7

Ich bin mit Oracle SQL Developer 2.1.1.64 die Ergebnisse einer Abfrage in eine Textdatei Hier ist spulen, was ich die quesry nennen leite und die ErgebnisseOracle SQL Developer Spool-Ausgabe?

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 

Leider spulen, ich bin immer

@c: \ client \ Abfragen \ t_1001_02_query

an der Spitze meiner Ausgabetextdatei, und ich brauche nur die Ergebnisse haben. Ich habe im Internet nach diesem gesucht und haben eine Vielzahl von Dingen wie versucht: Satz Satz überprüfen off termout off

+0

Wenn Sie 'SET TERMOUT OFF 'hinzufügen, dann sollte sich das, was Sie hier haben, in SQLPlus verhalten. Haben Sie die Möglichkeit, das anstelle von SQL Developer zu verwenden? Beachten Sie auch, dass wenn ich dies (in SQLPlus) mache, ich normalerweise mit "SET ECHO OFF" und dann mit "SET TERMOUT OFF" beginne, aber ich weiß nicht, ob das tatsächlich einen Unterschied macht. –

+0

Ich habe kein SQLPlus. Wenn ich diese Befehle ausführe, erhalte ich einen übersprungenen Fehler. Trotzdem danke. – mooseman

Antwort

4

ich gefunden habe, mit, dass, wenn ich speichern meine Abfrage (spool_script_file.sql) und Call es mit dieser

@c: \ client \ Abfragen \ spool_script_file.sql als Skript (F5)

ist mein Ausgang jetzt nur die Ergebnisse mit aus den Befehlen an der Spitze.

Ich fand diese Lösung auf den Oracle-Foren.

0

Sie können die Abfrageergebnisse in eine Textdatei exportieren (oder Anweisungen fügen, oder sogar pdf) nach rechts -Klick auf Abfrageergebnis Zeile (eine Zeile) und wählen Export

SQL Developer 3.0

Siehe SQL Developer downloads für die neuesten Versionen

+0

Ich weiß, aber ich würde gerne das gleiche Ergebnis ohne den manuellen Export bekommen, da ich über 100 Abfragen ausführen muss. – mooseman

-1

Ich habe versucht Dinge zu duplizieren die Spools, die Sie von sqlplus erhalten. fand ich die folgenden Hinweise und hoffen, dass es hilft:

SQL-Skriptdatei dh erstellen:

Bitte beachten Sie das Echo und SERVER.

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; 

Führen Sie das Skript aus einem anderen Arbeitsblatt:

@TEST_Spool.SQL 

Meine Ausgabe von dem 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; 

anonymen Block abgeschlossen

Das Datum 2016-04-07 09:21:32

Spool

0

Eine andere Art und Weise einfacher als ich mit SQL Developer 4 gearbeitet hat, ist in Windows-7

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

Sie haben es als ein auszuführen Skript, weil wenn nicht nur die Abfrage in der Ausgabedatei gespeichert wird Im Pfadnamen verwende ich das Doppelzeichen "\" als Trennzeichen beim Arbeiten mit Windows und SQL, Die Ausgabedatei wird die Abfrage und das Ergebnis anzeigen .

+0

Aber wie gesagt, ich brauche nur die Ergebnisse, sonst nichts in der Ausgabedatei. – mooseman

0

Zum Spoolen in Oracle SQL Developer, hier ist die Lösung.

Satz Überschrift auf

gesetzt linesize 1500

Satz colsep '|'

Satz NumFormat 99999999999999999999

Satz Seitengrße 25000

Spule E: \ abc.txt

@E: \ abc.sql;

Spule aus

Der Hinweis ist:

  1. , wenn wir von SQL-Spool-plus, dann ist die ganze Abfrage erforderlich ist.

  2. Wenn wir von Oracle Sql Developer spoolen, dann ist der Referenzpfad der Abfrage erforderlich, wie im angegebenen Beispiel angegeben.

Verwandte Themen