mut*_*gan 14 sql-server dos sqlcmd
我需要检查通过SQLCMD实用程序运行的查询的退出状态(成功/失败).例如,我连接的服务器没有数据库名称EastWind.然后,下面的命令失败并显示消息...
> "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"
-S ZEPHIR -E -Q "USE WestWind"
Changed database context to 'WestWind'.
> echo %errorlevel%
0
> "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"
-S ZEPHIR -E -Q "USE EastWind"
Database 'EastWind' does not exist. Make sure that the name is entered correctly
> echo %errorlevel%
0
Run Code Online (Sandbox Code Playgroud)
我看到两种情况下的返回值都是相同的.如何检查命令是否失败SQLCMD?
Chr*_*n.K 20
您需要使用该-V选项.
例:
> SQLCMD.EXE -S whatever -E -V16 -Q "USE does_not_exist"
Msg 911, Level 16, State 1, ...
Could not locate entry ...
> echo %ERRORLEVEL%
16
Run Code Online (Sandbox Code Playgroud)
更新:您也可以使用该-b选项.它与执行具有不同的语义(整个批处理停止在第一个错误上).因人而异.
例:
> SQLCMD.EXE -S whatever -E -b -Q "USE does_not_exist"
Msg 911, Level 16, State 1, ...
Could not locate entry ...
> echo %ERRORLEVEL%
1
Run Code Online (Sandbox Code Playgroud)
您还可以结合-b和-V.
| 归档时间: |
|
| 查看次数: |
21706 次 |
| 最近记录: |