【发布时间】:2013-01-21 22:47:56
【问题描述】:
#!/bin/sh
echo "Please enter evaluate database username"
read eval_user
echo "Please enter evaluate database password"
read eval_pass
echo "Please enter the database name"
read db_name
LOGFILE=shell_log.txt
$ORACLE_HOME/bin/sqlplus -s /nolog <<-EOF>> ${LOGFILE}
connect $eval_user/$eval_pass@$db_name
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
DBMS_OUTPUT.put_line('Connected to db');
EOF
if [ $? != 0 ]
then
echo "The upgrade script failed. Please refer to the log results.txt for more information"
echo "Error code $?"
exit 0;
fi
我正在输入垃圾值,试图强制此脚本失败。但是,令人讨厌的是,它一直在继续前进,而没有提及任何错误代码。这里还需要做什么?
【问题讨论】:
-
您在哪个操作系统用户帐户下运行?脚本登录到什么数据库?
-
我试过你的脚本,日志文件正在捕获错误代码。这是从日志文件中获取的内容:
ERROR: ORA-01017: invalid username/password; logon denied SP2-0734: unknown command beginning "DBMS_OUTPU..." - rest of line ignored. -
请问,当您执行脚本时,您在日志文件中得到了什么?