operator bool
FOR /F "tokens=1,2,3,4 delims=" %%G IN (SchemaList.txt) DO (call SQL_Execute.bat %%G %%H %%I %%J)
Executor_Scrubbing.bat调用SQL_Execute.bat和SQL_Execute.bat中的sql脚本提及在文本文件中列出的模式上执行
问题是SET "usr=%1"
SET "pwd=%2"
SET "COMP_ID=%3"
SET "dbsvr=%4"
mkdir %usr%_%dbsvr%
sqlplus -S %usr%/%pwd%@%dbsvr% @.\query.sql %3 >.\%usr%_%dbsvr%\log.txt 2>.\%usr%_%dbsvr%\Errors.txt
。将输出和错误重定向到单独的文件。它在第二个文件Errors.txt中打印错误,但是log.txt中的日志正确显示
答案 0 :(得分:0)
如果SQLPLUS与SQLCMD类似,则会发现如果SQLPLUS命令的启动失败,它只会输出到STDERR(2>)。 SQL错误转到STDOUT。您可能需要将STDOUT发送到临时文件,解析该文件,并根据需要输出到所需位置。