編集部からのお知らせ
令和時代のCIOとは?
「ニューノーマルとIT」新着記事一覧

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

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]