- 締切済み
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 と出力されます。 できればこれを出力せずに、戻り値を取得したいのですが、、 何か方法はありませんでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
osql自体の戻り値になりますが、ERRORLEVELという変数を 参照して解決できませんか? ウィンドウズの環境変数メモ(Hishidama's Windows Environment Memo) http://www.ne.jp/asahi/hishidama/home/tech/windows/env.html
お礼
回答ありがとうございます。 現在のソースでもEXIT内でSELECTで戻り値を返すと ERRORLEVELにその戻り値が入るようにはなっています。 ただ、SELECTをなくすと、おっしゃる様に osql自体の戻り値になってしまうので困っています・・・。 やはり無理なのでしょうか・・。