SQLDEVELOPER SPOOL: пустая первая строка
Я хочу экспортировать несколько таблиц в файл, разделенный точкой с запятой, используя SqlDeveloper (версия 4.1.5.21).
В настоящее время я использую
SET SQLFORMAT delimited
spool ..dirtable1.csv
select * from table1;
spool off;
Для каждой таблицы в скрипте, что нормально.
Проблема заключается в том, что результирующий файл имеет пустую первую строку. Можно ли его как-то удалить? Я провел небольшое исследование, и похоже, что функция, которая будет заботиться об этом в SqlPlus, не реализована в SqlDeveloper.
Я также пытался выполнить то же самое в SqlPlus, но я даже не приблизился к результату, который производит SqlDeveloper.
Если невозможно избавиться от этой пустой строки с помощью spool, есть ли какая-либо встроенная функция sql, которую я мог бы использовать для манипулирования результирующим флагом, чтобы мне не пришлось запускать SqlDeveloper, а затем сценарий bash, чтобы получить правильные файлы?
1 ответ:
Если кто-нибудь наткнется на этот вопрос:
Как отметил Алекс в комментариях, это ошибка в версии 4.1.15 (и, возможно, более ранних версиях) SqlDeveloper. Чтобы избавиться от него, обновите его до версии 4.2.0.Если вы, как и я, по какой-то причине застряли с более ранней версией, вы можете использовать sqlcl, который поставляется вместе с SqlDeveloper, чтобы выполнить свой сценарий без описанных проблем.
Мой .SQL скрипт выглядит так:
SET ECHO OFF SET FEEDBACK OFF SET sqlformat delimited ; " " spool ..\relative\path.csv select * from table1; SPOOL OFF; QUIT;