Дайте этот сценарий 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?