sqlplus терпит неудачу при выполнении из сценария оболочки, но отлично работает при выполнении из терминала - PullRequest
0 голосов
/ 12 октября 2018

У меня есть программа, которая запускает скрипт оболочки.В этом сценарии оболочки есть команда sqlplus, в которой много других сотрудников.

sqlplus -L 'user/passwd'@\'localhost:1521/orcl\' @file_path.ddl test_cpm_user test_cpm_password CPMDAT CPMIDX

Сценарии оболочки завершаются с ошибкой в ​​строке выше с сообщением:

SQL*Plus: Release 11.2.0.4.0 Production on Fri Oct 12 11:50:36 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


SP2-0751: Unable to connect to Oracle.  Exiting SQL*Plus

Однако, если я запускаюон сам из терминала работает нормально.В чем может быть причина такого поведения?

1 Ответ

0 голосов
/ 14 октября 2018

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

sqlplus -L '{user} / {passwd}' @ {hostname} '@ file_path.ddl test_cpm_user test_cpm_password CPMDAT CPMIDX

...