sqlcmdの戻り値の確認方法
发布时间:2026-11-14 | 浏览:1
バッチファイルを作っています。 sqlcmdの正常なら0、エラーなら1などの戻り値をもとに条件分岐をしたいのですが、戻り値を確認する方法がわかりません。 sqlcmdの下にecho errorlevelと書いたら「それだとこのsqlcmdの戻り値かどうかわからない」と言われました。
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
2021/12/22 08:36
分岐には、直後に if errorlevel を使います。
指定した数値と等しいときじゃなくて、以上の時なので、間違えないようにしましょう。
echo errorlevel だと、戻り値は関係なくて単に errorlevel という文字列が表示されます。
投稿 2021/12/22 14:51
sqlcmdの下にecho errorlevelと書いたら「それだとこのsqlcmdの戻り値かどうかわからない」と言われました。
もしかして、指摘された方の意図としては sqlcmd コマンドに -b オプションを付けないと、SQL エラーが拾えない、ということを言っているのではないでしょうか? 例えば、SQL の構文エラーがあったとしても -b を付けない場合 sqlcmd コマンド自体は正常「0」を返します。
■ sqlcmd ユーティリティ https://docs.microsoft.com/ja-jp/sql/tools/sqlcmd-utility
エラー報告のオプション -b エラーが発生したときに、 sqlcmd を終了し、DOS ERRORLEVEL 値を返します。 SQL Server のエラー メッセージの重大度が 10 よりも高い場合、DOS ERRORLEVEL 変数に返される値は 1 です。それ以外の場合は、0 が返されます。
投稿 2021/12/22 14:38
2021/12/23 02:33
2021/12/23 02:58
2021/12/23 04:34
2021/12/23 06:26
2021/12/23 08:27
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
15分調べてもわからないことは teratailで質問しよう!
ただいまの回答率 85 . 25 %
質問をまとめることで 思考を整理して素早く解決
テンプレート機能で 簡単に質問をまとめる
sqlcmdの戻り値の確認方法