当Powershell中出现slqplus错误时,LASTEXITCODE始终为0

时间:2018-11-02 20:52:23

标签: powershell error-handling sqlplus

我需要使用sqlplus从powershell调用一组sql语句,包括实际的.sql脚本。之后,我需要捕获错误,不一定要捕获确切的退出代码,而至少要捕获存在一些oracle错误的事实。 这是Powershell中的调用:

Awesomium.Windows.Controls.dll

在$ sqlQuery内部,我将其设置为因错误而失败:

$sqlQuery | &sqlplus $connectionString

当脚本确实遇到某些错误时,它会正常失败并退出sqlplus:

whenever sqlerror exit sql.sqlcode

但是在执行脚本$ LASTEXITCODE时遇到此错误或任何其他Oracle错误之后,始终为0和$?永远是真的。我无法将sqlplus输出发送到任何脚本或变量中-为了在其中运行Powershell的应用程序的目的,我必须在屏幕上显示它,因此,我实际上没有选择检查输出是否为“ ORA-”错误。

问题是-为什么$ LASTEXITCODE和$是?像sqlplus这样的行为正确退出了,在这种情况下,我有什么选择来获取正确的失败状态?

0 个答案:

没有答案