Должен ли CONNECT работать в сценарии SQL * PLUS? - PullRequest
1 голос
/ 28 января 2010

Я бы хотел запустить скрипт sqlplus из задания cron.

Я думал, что смогу поставить строку вроде:

CONNECT "myuser/mypass@mydb"

внутри скрипта, а затем просто выполните его с помощью:

sqlplus @myscript

Однако, когда я делаю это, я получаю:

SP2-0306: Invalid Option
SP3-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus

Я неправильно понимаю использование команды connect?

Ответы [ 3 ]

0 голосов
/ 29 января 2010

Используйте параметр / NOLOG.

sqlplus /nolog @myscript
0 голосов
/ 26 ноября 2013

Oracle 11gR2

Я запустил файл .sql через SQL * Plus, изначально подключенный как JOHN. Внутри файла я подключаюсь как SYS, а затем запускаю GRANT. См. Содержимое файла .sql ниже:

подключить sys / пароль как sysdba

GRANT EXECUTE ON DBMS_CRYPTO TO JOHN;

подключить Джона / DOE

ПРИМЕЧАНИЕ: я не рекомендую хранить sys / пароль в текстовом файле.

НТН

0 голосов
/ 28 января 2010

При запуске CONNECT внутри SQL*Plus, удаляйте кавычки:

CONNECT myuser/mypass@mydb

Они должны заключаться в двойные кавычки, если вы передаете учетные данные в качестве аргумента sqlplus:

sqlplus "myuser/mypass@mydb"

, для интерпретации оболочкой myuser/mypass@mydb в качестве одного аргумента, если в идентификаторе соединения есть пробелы или используются дополнительные параметры, такие как AS SYSDBA.

...