Запустить сценарий SQL из другого каталога в сценарии оболочки - PullRequest
0 голосов
/ 08 февраля 2019

в сценарии оболочки UNIX Я нахожусь в одном каталоге ex:- cd /usr/was/scr, затем после подключения к SQLPLUS для входа в базу данных для запуска файла сценария SQL xyz.sql из другого местоположения каталога ex:- /usr/was/abcd.Как выполнить xyz.sql после входа в базу данных.Вот пример кода.

cd /usr/was/scr
sqlplus -s <schema>/<user>@<tns> << EOF
exec xyz.sql
spool xyz.log
exit;
EOF

xyz.sql Файл находится в каталоге /usr/was/abcd.

1 Ответ

0 голосов
/ 08 февраля 2019

Если вы вызываете это из скрипта, я думаю, что самым безопасным способом было бы сначала указать ваши пути:

sqlpluspath=/usr/was/scr        #or "${ORACLE_HOME}/bin" or wherever it is if not in $PATH 
spoolfile=/usr/was/scr/xyz.log  #spool file
PATH="${PATH}:$sqlpluspath" \
SQLPATH="${SQLPATH}:/usr/was/abcd" \
sqlplus -s <schema>/<user>@<tns> << EOF
spool $spoolfile
@xyz.sql
exit;
EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...