0
我已經寫了一個簡單的sh
文件來從Oracle SQL檢索數據但出錯。以下是我的代碼:文件名是來自unix的SQL查詢輸出
. $HOME/.profile
function assignVariables
{
ID="finapp"
PASS="finapp"
MAIL_BODY_PATH="/rbluat/BACKEND/Finacle/FC10.2.9/app/CDCI_LOGS/"
}
echo $ID
echo $PASS
function getDatatrans
{
TRANID=`sqlplus -s $ID/[email protected] <<EOF
SELECT DISTINCT TRAN_ID,DTH_INIT_SOL_ID,TRAN_DATE,DEL_FLG FROM TBAADM.DTD WHERE PSTD_FLG='N' AND ENTRY_USER_ID='FIVUSR' and del_flg='N' and tran_date=(select db_stat_date from tbaadm.gct)AND REF_NUM IN (SELECT PYMT_REF_NUM FROM TBAADM.PORD WHERE STATUS IN ('A','H'));
exit;
EOF`
}
assignVariables
getDatatrans
echo $TRANID
我得到輸出:
[YOU HAVE NEW MAIL]
SELECT DISTINCT TRAN_ID,DTH_INIT_SOL_ID,TRAN_DATE,DEL_FLG FROM TBAADM.DTD WHERE PSTD_FLG='N' AND ENTRY_USER_ID='FIVUSR' and del_flg='N' and tran_date=(select db_stat_date from tbaadm.gct)AND REF_NUM IN (SELECT PYMT_REF_NUM FROM TBAADM.PORD WHERE STATUS IN ('A','H')) few.sh test.sh ERROR at line 1: ORA-00942: table or view does not exist
`
這裏few.sh
和test.sh
存在於當前工作目錄下的文件名。 few.sh
是我寫這段代碼的文件。我不知道這些名字是如何來的。我在KSH工作。我嘗試了谷歌搜索,但沒有發現任何線索。
你有'MAIL_BODY_PATH',你發送郵件還是從cron發來的郵件?請檢查sqlplus:table TBAADM.PORD,如果是PRODm,你需要在'tbaadm.gct)AND'之前的空格嗎? –
@WalterA,我打算從'few.sh'發送郵件,這個郵件只能由cron運行。我會檢查sql命令。 – Mistu4u
你檢查過sql嗎? –