给出这个计划批处理运行的 unix 脚本:
isql -U$USR -S$SRVR -P$PWD -w2000 < $SCRIPTS/sample_report.sql > $TEMP_DIR/sample_report.tmp_1
sed 's/-\{3,\}//g' $TEMP_DIR/sample_report.tmp_1 > $TEMP_DIR/sample_report.htm_1
uuencode $TEMP_DIR/sample_report.htm_1 sample_report.xls > $TEMP_DIR/sample_report.mail_1
mailx -s "Daily Sample Report" email@example.com < $TEMP_DIR/sample_report.mail_1
有时邮件中附加的 sample_report.xls是空的,零行。
我已经排除了以下情况:
- 不是命令处理超时 - 通过将 -t30 添加到 isql,我得到了 xls,它包含错误,而不是空的
- 不是 sql 错误 - 通过强制 sql 中的错误,我得到 xls 并且它包含错误,而不是空
- 不确定登录超时 - 通过添加 -l1,它不会超时,但我不能指定低于 1 秒的数字,所以我不能说
我无法重现这一点,因为我不知道原因。有没有其他人经历过这个或有办法解决这个问题?任何建议如何找到原因?是 unix 还是 Sybase isql?