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运行命令后尝试添加:

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 回答