2013-05-23 2 views
7

Я использую Oracle SQL Developer 2.1.1.64 намотать результаты запроса в текстовый файл Вот что я бегу, чтобы вызвать quesry и намотать результатыOracle SQL Developer spool output?

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 

К сожалению, я получаю

@c: \ клиент \ запросы \ t_1001_02_query

в верхней части моего текстового файла вывода, и мне нужно, чтобы иметь только результаты. Я искал в Интернете для этого и испробовали множество таких вещей, как: набор проверить выключен набор TERMOUT от

+0

Если вы добавите 'SET TERMOUT OFF', то то, что вы здесь должны, должно вести себя в SQLPlus. У вас есть возможность использовать это вместо SQL Developer? Также обратите внимание, что когда я это делаю (в SQLPlus), я обычно начинаю с 'SET ECHO OFF', а затем' SET TERMOUT OFF', но я не знаю, действительно ли это имеет значение. –

+0

У меня нет SQLPlus. Когда я запускаю эти команды, я получаю пропущенную ошибку. Спасибо хоть. – mooseman

ответ

4

Я обнаружил, что если я сохраню мой запрос (spool_script_file.sql) и вызов он использует это

@c: \ Client \ запросов \ spool_script_file.sql в качестве сценария (F5)

Мой выход теперь только результаты с из команд в верхней части.

Я нашел это решение на форумах oracle.

0

Вы можете экспортировать результаты запроса в текстовый файл (или вставить заявления, или даже PDF) по праву на щелчок Результат запроса строки (любая строка) и выберите Экспорт

с помощью SQL Developer 3,0

См SQL Developer downloads последних версий

+0

Я знаю, но я хотел бы получить тот же результат без экспорта вручную, так как у меня есть более 100 запросов для запуска. – mooseman

-1

Я пытался дублировать катушки, которые вы получаете от sqlplus. я нашел следующее и надеюсь, что это помогает:

Создать свой SQL файл сценария, а именно:

Пожалуйста, обратите внимание на эхо и 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; 

Выполнить скрипт из другого листа:

@TEST_Spool.SQL 

Мой выход из 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; 

анонимный блок завершен

Дата является 2016-04-07 09:21:32

Катушку

0

Другой способ более простой, чем я работал с SQL Developer 4 в Windows 7

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

Вы должны выполнить его как сценарий, потому что если в выходной файл будет сохранен не только запрос В имени пути я использую двойной символ «\» в качестве разделителя при работе с Windows и SQL, . В выходном файле будет отображаться запрос и результат ,

+0

Но, как я уже сказал, мне нужны только результаты, ничего больше в выходном файле. – mooseman

0

Для буферизации в Oracle SQL Developer, вот решение.

набор заголовок на

набор linesize 1500

множества colsep '|'

набор numformat 99999999999999999999

набор размер_страницы 25000

золотник E: \ abc.txt

@E: \ abc.sql;

золотника от

Намек:

  1. когда мы намотать от SQL плюс, то требуется весь запрос.

  2. , когда мы свяжемся с Oracle Sql Developer, а затем ссылочным путем запроса, как указано в указанном примере.

Смежные вопросы