• 締切済み

osqlによるストアド実行の戻り値

方法を探しています。 何か案があったらご教授ください。 現在バッチファイル(.bat)を作成しており、 その中でosqlによりプロシージャを実行しています。 そのプロシージャの中で、正常終了なら0、異常終了なら9を 戻しています。 osql /U [ユーザ名] /P [パスワード] /d [DB名] /S [サーバ名] /q EXIT("DECLARE @ret INT; EXEC @ret = SP名 引数1,引数2; SELECT @ret;") >> log.txt この方法だと、log.txtに ----------- 0 と出力されます。 できればこれを出力せずに、戻り値を取得したいのですが、、 何か方法はありませんでしょうか?

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

osql自体の戻り値になりますが、ERRORLEVELという変数を 参照して解決できませんか? ウィンドウズの環境変数メモ(Hishidama's Windows Environment Memo) http://www.ne.jp/asahi/hishidama/home/tech/windows/env.html

sunlight21
質問者

お礼

回答ありがとうございます。 現在のソースでもEXIT内でSELECTで戻り値を返すと ERRORLEVELにその戻り値が入るようにはなっています。 ただ、SELECTをなくすと、おっしゃる様に osql自体の戻り値になってしまうので困っています・・・。 やはり無理なのでしょうか・・。

関連するQ&A