我创建了一个执行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!
。什么意思?
如何设置在控制台中显示错误以确切地查看错误是什么?
我添加了-m-1
,我使用MSDN相应地删除了-h-1
,但未在我的控制台中显示。
谢谢。
答案 0 :(得分: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