我不知道批处理结构,如果这个问题是三元组,请原谅我。 我有我的查询,我想用sqlplus命令将它们执行到脚本中。之后,当我的sqlplus命令给我一个结果时,我想将记录保存在变量中,最后一步是使用mailto命令创建一个邮件并将其发送给我的联系人。
我的脚本是:
ScriptFather.bat
@echo off
setlocal EnableDelayedExpansion
SET i=0
FOR /f %%b IN ('C:\Users\samuele.nava\Desktop\idlock.bat') DO (set var!i!=%%b)
echo var0: !var0!
pause
ScriptSon.bat
sqlplus user/pwd@host:port/sid @C:\...\Query.sql
query.sql的
select id_richiesta,id_ric_tipo,id_lock,ts_ins,ts_ultimo_aggiornamento,codice_op_don,codice_op_rec,id_richiesta_stati,data_cut_over_richiesta,data_cut_over_effettiva from richieste where id_lock is not null and ts_ultimo_aggiornamento=(sysdate) order by ts_ultimo_aggiornamento desc;
对不起,如果这些问题很常见,但我不知道如何解决这个问题。
注意并摇滚
答案 0 :(得分:0)
我认为市长的挑战是格式化sqlplus输出。请查看此文档Formatting SQL*Plus Reports
一旦你这样做,我建议将结果假脱机并发送给它,例如使用SendSMTP,你可以从http://www.virtualobjectives.com.au/utilitiesprogs/sendsmtp.htm下载
sqlplus -s user/pwd@host:port/sid @Query.sql > %TEMP%\Query_output.txt
SendSMTP.exe /HOST mailhost /FROM "Samuele@domain.net" /TO "Samuele@domain.net" /SUBJECT "Notification from Database" /BODYFILE %TEMP%\Query_output.txt
请注意禁止sqlplus横幅的-s
开关。