0

SQLコマンドを実行するバッチファイルを作成しました。

コードを見てみましょう

SET OSQL="C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\osql.exe"
IF NOT EXIST %OSQL% ECHO OSQL.EXE not found, please check the OSQL variable!
IF NOT EXIST %OSQL% GOTO :ERROR

SET SQLQUERY_UPDATEDB = "SELECT * FROM %DB%";

%OSQL% -S %SQLSERVERNAME% -d %DBNAME% -U %DBACCOUNT% -P %DBPASSWORD% -Q %SQLQUERY_UPDATEDB% -n -b -m-1 > D:\sqloutput.txt

:ERROR
ECHO Sorry, could not complete your request!
ECHO %ERRORLEVEL%
GOTO :END

:END
ECHO Finish batch

コードの上記の部分は、常に 0 と を返しますSorry, could not complete your request!。どういう意味 ?

何が問題なのかを正確に確認するために、コンソールにエラーを表示するように設定する方法は?

MSDNに応じて配置-m-1および削除しましたが、コンソールに表示されません。-h-1

ありがとうございました。

4

1 に答える 1

1

うーん。SQL コマンドが正常に実行されたとしても、エラー ハンドラに落ちてしまうのでしょうか?

GOTO :ENDコマンドを実行した後に a を追加してみてください。

SET SQLQUERY_UPDATEDB = "SELECT * FROM %DB%";

%OSQL% -S %SQLSERVERNAME% -d %DBNAME% -U %DBACCOUNT% -P %DBPASSWORD% -Q %SQLQUERY_UPDATEDB% -n -b -m-1 > D:\sqloutput.txt
GOTO :END

:ERROR
于 2012-09-24T08:12:03.707 に答える