SPOOL возвращает пустые файлы при попытке экспорта из SQL Developer

У меня есть ряд запросов, которые я хочу выходной .CSV-файл. Единственный инструмент, который я должен запросить базу данных, - SQL Developer.

Я мог бы запускать каждый запрос, а затем использовать диалог экспорта в SQL Developer для записи их в файлы, но это громоздко, особенно когда это нужно делать для нескольких файлов каждый день.

это работает для некоторых людей прямой экспорт запроса в CSV с помощью SQL Developer

но это не работает для мне.

например, если я попробовать

spool "C:Usersjames.foremanDownloadsTempmyfile.csv"

select distinct placement_type
FROM jf_placements;

spool off;

затем в области вывода скрипта SQL Developer я вижу

Не удается создать файл катушки C:Usersjames - ... ФорманзагрузкиTempmyfile.csv

и хотя myfile.csv создан, результатов нет. (Запрос возвращает две строки.)

моя первая мысль заключалась в том, что была проблема с разрешениями C:Usersjames - ... Форманзагрузкитемп но, похоже, это не так., потому что, если я удалю myfile.csv, а затем запустите SQL, myfile.csv-файл воссоздан, но в нем никогда ничего нет.

поэтому я предполагаю, что это проблема конфигурации, либо с машиной Windows, на которой я запускаю SQL Developer, либо с настройкой моего SQL Developer. Где я должен искать, чтобы исследовать дальше?

@Devolus's ответ на процедура экспорта таблицы в несколько csv-файлов включает инструкцию " в окне SQL щелкните правой кнопкой мыши -> изменить Окно в - > командное окно", но если я щелкните правой кнопкой мыши на окне SQL, я не вижу опции окна изменения.

(под управлением Windows 7, SQL Developer Version 4.0.2.15, Build 15.21, база данных Oracle 11.2)

3 ответов


то, что файл создан, но не имеет данных, возможно, последнее утверждение,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

при запуске скрипта нажмите "Run Script" вместо " Run Statment" или вы можете нажать F5.

это исправило мою проблему, надеюсь, что она может исправить вашу тоже


в моем случае, потребовалось две вещи, чтобы исправить проблему:

  • запуск из скрипта (с помощью @C:\file.в SQL нотации)
  • обновление до последней версии SQL Developer

я запускал SQL Developer 3.2.20.09 (не работает), а теперь использую 4.0.2.51 (точно такой же скрипт работает).

и