ERRORLEVELが-100になるパターン

OKWave 2007年07月31日 13時00分

  • このエントリーをはてなブックマークに追加
ERRORLEVELが-100になるパターン

現在初めてバッチを作成していますが、 その中でosqlでSPを実行した後にERRORLEVELを取得しています。

SPの中でエラーが発生した場合も、発生しない場合も、 ECHO %ERRORLEVEL% のコマンドを実行すると -100 が返ってきます。

ERRORLEVELは0〜255の値が返ってくるという認識でしたので、 どのパターンでそうなるのか全くわかりません。
インターネットでも調べてはみましたがわかりませんでした。

とても初歩的な質問かもしれませんが、回答をいただければうれしいです。

--TEST.bat
osql /U [ユーザ] /P [パスワード] /d [データベース名] /S [サーバー名] /q "exit([SP名])" >> test.log

ECHO ERRORLEVEL = %ERRORLEVEL%>> test.log
-- SPのソース
CREATE PROCEDURE SP_TEST AS
PRINT 'TEST'
PRINT 'aa'
--print 10/0
GO

※『print 10/0』をコメントにしても、しなくても -100でした。  また、'TEST'と'aa'はログに表示されています。

良回答

> ECHO %ERRORLEVEL% のコマンドを実行すると -100 が返ってきます。

参考URLによると 「戻り値を選択する前に、エラーが発生した。 」 ということになりますかねぇ。

> ERRORLEVELは0〜255の値が返ってくるという認識でしたので、
MS-DOS時代ってことですかねぇ。。。 OSのバージョンによって取りうる値の範囲は違います。 ちゃんと調べたわけではないので、正確な範囲は不明です。

http://msdn2.microsoft.com/ja-jp/
library/ms162806.aspx
  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR