在UNIX Shell脚本中,我位于一个目录@ReadOperation
中,然后在我连接到ex:- cd /usr/was/scr
以登录数据库以运行SQL脚本文件 xyz.sql 后,来自不同的目录位置SQLPLUS
。登录数据库后如何执行 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
目录中。
答案 0 :(得分:1)
如果您是从脚本中调用此方法,那么我认为最安全的方法是首先指定路径:
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