SQL * Plus - Как скрыть SET ECHO OFF? - PullRequest
       10

SQL * Plus - Как скрыть SET ECHO OFF?

8 голосов
/ 28 октября 2011

В SQL PLus, если я хочу скрыть команду на экране, я использую в начале сценария:

SET ECHO OFF

Но как насчет этой команды? Как скрыть и это?

В MS-Dos вы могли использовать @ перед ним, но в SQL * Plus?

EDIT: Я знаю параметр -S для SQL * Plus, но проблема в том, что я отправляю свой сценарий клиенту, и поэтому я не контролирую, как они запускают SQL * Plus.

Ответы [ 2 ]

4 голосов
/ 20 января 2012

Возможно, вы захотите запустить SQL * Plus с флагом -S:

sqlplus -S user/password@db @path/to/your/script

В документации написано: SILENT Option

-S [ILENT]

Подавляет всю информацию и сообщения-подсказки SQL * Plus, включая командную строку, отображение команд и баннер, обычно отображаемый при запуске SQL * Plus.Если вы опускаете имя пользователя или пароль, SQL * Plus запрашивает их, но эти подсказки не отображаются!Используйте SILENT для вызова SQL * Plus в другой программе, чтобы использование SQL * Plus было невидимым для пользователя.

SILENT - это полезный режим для создания отчетов для Интернета с помощью команды SQLPLUS -MARKUP внутри CGI.сценарий или сценарий операционной системы.Баннер и подсказки SQL * Plus подавляются и не отображаются в отчетах, созданных с использованием параметра SILENT. Параметр SILENT


Таким образом, при использовании параметра без вывода сообщений использование * не требуется1019 * на всех.

3 голосов
/ 29 октября 2011

Нет, я не знаю, как спрятать саму команду 'set echo off', если эхо включено.

Однако эхо по умолчанию отключено. Итак, если эхо включено при первом запуске SQL * Plus, возможно, у вас есть login.sql или glogin.sql, который содержит «set echo on»?

Проверьте для glogin.sql в $ ORACLE_HOME / sqlplus / admin и для login.sql в каталоге, где вы запустили SQL * Plus, и в любом каталоге, указанном в $ SQLPATH.

Надеюсь, это поможет.

...