nant脚本执行sqlplus,不返回错误代码

时间:2015-03-24 17:08:33

标签: sqlplus nant

我执行sqlplus.exe的nant脚本如下所示

exec program =" sqlplus.bat"             BASEDIR =" $ {base.dir}"             工作目录=" $ {base.dir}"输出=" log.txt的" failonerror ="假" resultproperty =" execresult"

arg line =" $ {app.sqlplus} $ {db.username} $ {db.password} $ {db.schema} $ {var.exec.file} $ {db.username} $ { db.password}"

结束执行

SqlPlus.bat具有以下内容

echo exit | %1%2 /%3 @%4 @%5%6%7

我理想的是要检查" execresult"这是exec命令的错误代码并显示相应的消息。

我尝试在我的SQL文件中使用以下语句,但它没有帮助。

WHERVER SQLERROR EXIT SQL.SQLCODE

请指出问题和可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

最简单的答案是删除output任务上的failonerrorexec,因为NAnt会在构建失败时自然显示该消息。我猜你已经避免了,因为你想要处理一些非零退出代码作为警告或成功,因为你想要处理一些非零退出代码作为警告或成功。在那种情况下:

<loadfile file="log.txt" property="execoutput" />
<fail if="${int::parse(execresult)>8" message="${execoutput}" />