Oracle SQLPlus: как отобразить вывод команды sqlplus без необходимости сначала вводить команду спулинга? - PullRequest
3 голосов
/ 10 июня 2010

Есть ли способ отобразить вывод команды sqlplus без необходимости сначала вводить команду spool off?

Я буферизирую результаты сеанса sqlplus в файл, в то же время отслеживая файл. Причина этого заключается в том, что для таблицы с очень длинными строками формат легче просматривать из файла. Проблема заключается в том, чтобы увидеть выходные данные, которые я должен выдавать команду spool off каждый раз, когда я запускаю команду в sqlplus.

Могу ли я настроить sqlplus таким образом, чтобы после того, как я выполнил команду spool, все выходные данные сразу же стали доступны для просмотра в файле.

(Формирование способа отображения строк на экране не вариант.)

1009 * БЛАГОДАРЯ *

Ответы [ 5 ]

2 голосов
/ 10 июня 2010

SPOOL действительно предназначен для создания файла вывода SQL * Plus для любых целей: ведение журнала, ввод в другой процесс и т. Д. Нет возможности просматривать его вывод в полете.

Существует несколько способов решения этой конкретной проблемы, но проще всего наверняка использовать IDE, которая включает в себя браузер данных, что устраняет необходимость в хвостовом файле. На рынке есть несколько моделей, включая TOEST Quest и * разработчика PL / SQL от Allround Automation , но если вы не хотите использовать лицензионную плату, вам стоит взглянуть на Oracle (бесплатно) SQL Developer .

1 голос
/ 15 октября 2010

Если вы буферизуете результаты нескольких операторов, вы можете отключить буферизацию, а затем снова включить ее между каждым оператором.Когда вы снова включите буферизацию, добавьте ключевое слово append, чтобы оно продолжалось в том же файле, а не перезаписывало его.

Если вы хотите увидеть результаты одного запроса в вашем файле спула, вы можете разбить запрос на несколько запросов, которые возвращают определенные диапазоны данных.Это было бы медленнее, но вы могли бы циклически спулировать, чтобы получить более быструю обратную связь.

1 голос
/ 10 июня 2010

Так как кажется, что вашей настоящей проблемой является форматирование вывода в SQLPlus - можете ли вы сделать окно SQLPlus более широким и SET LINESIZE, чтобы с самого начала вывод в SQLPlus выглядел лучше?Тогда вам, возможно, вообще не нужно будет наматывать.

1 голос
/ 10 июня 2010

Если ваша проблема в том, что вы не можете открыть выходной файл (так как процесс спула заблокирован), попробуйте скопировать выходной файл в другой файл и открыть его вместо этого.

0 голосов
/ 10 июня 2010

Я пытался добавить комментарий, но по какой-то причине он не сохранил его, поэтому попробуйте опцию «Ответить на вопрос»:)

Я использую SQLDeveloper, но бывают ситуации, когда мне приходится использовать sqlplus, когда SQLDeveloper недоступен, тогда я застрял в старой версии sqlplus.

В других ситуациях я бы использовал sqlplus поверх sqldeveloper исключительно потому, что мне потребовалось бы полминуты, чтобы найти то, что я ищу в sqlplus, а не несколько минут с SQLDeveloper, поскольку для загрузки потребовались бы годы ,

Я проверил время, необходимое для очистки выходных данных, и похоже, что он очищается после определенного числа строк. Есть ли способ уменьшить размер буфера, чтобы он быстрее очищался?

Нет проблем с открытием файла, проблема даже в том, что файл открыт, я не могу видеть вывод, если я не выполню команду «spool off», или если вывод содержит несколько сотен строк. Я использую бесплатную программу baretail (http://www.baretail.com), чтобы привязать файл очереди к Windows.

Спасибо

...