Параметры Sqlplus - PullRequest
       6

Параметры Sqlplus

4 голосов
/ 10 февраля 2012

все! Я хочу знать, что делает эта строка:

sqlplus -s /nolog <<EOF

Есть идеи? Спасибо за помощь!

Ответы [ 3 ]

7 голосов
/ 10 февраля 2012

Из информации, которую вы предоставили в комментариях:

sqlplus -s /nolog <<EOF

Запускает экземпляр sqlplus с включенным тихим режимом (который, я считаю, не отправляет любой вывод на экран консоли) и без явно предоставленного входа в систему (отсюда 1007 *), и он принимает данные из строки, содержащейся в EOF heredoc (который, вероятно, содержит учетные данные для входа).

Здесь - краткий обзор документации Oracle по sqlplus.

4 голосов
/ 10 февраля 2012

ОТ ЗДЕСЬ :

-s Параметр без вывода сообщений: он принимает вывод баннера SQL * Plus, командную строку и отображение команд.

/nolog Запускает SQL * Plus, но не выполняет вход (подключение) пользователя / сеанса.


Таким образом, кажется, что SQL * PLUS запускается без входа в систему пользователя / сеанса (опция nolog) и не отображает информацию (опция молчания).

3 голосов
/ 10 февраля 2012

Полный отрывок, вероятно, должен быть:

sqlplus -s /nolog << ABCDE

CONNECT user/pwd@database
-- DO SQL AND PLSQL STUFF
EXIT

ABCDE

Что похоже на выполнение sqlplus -s user/pwd@database @script.sql, где script.sql содержит sql, plsql stuff и команду выхода. Синтаксис << является оператором оболочки для heredoc, что означает, что все следующие строки раскрываются переменными, если найдены $ {variable}, и первая строка начинается с ABCDE (в самом начале строки, пробелов нет, нет вкладки) заканчивает ввод.

...