sqlcmd,带有输出文件和屏幕输出

Lea*_*dro 5 sql command-line sql-server-2005 sqlcmd

我用sqlcmd做一些命令行批处理(.bat):

sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE
Run Code Online (Sandbox Code Playgroud)

我需要一个输出文件(它目前正在工作),还需要输出屏幕来执行以下操作:

@echo off
echo The result of the query was:
    sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE
pause
CHOICE /C:YN /M "Is the result accord?"
IF ERRORLEVEL 2 GOTO ENDWITHERROR
IF ERRORLEVEL 1 GOTO STEP2
Run Code Online (Sandbox Code Playgroud)

注意:

  • 是的,脚本工作很麻烦,这不是问题.
  • 是的,我在我的SQL上有一个"打印"的东西.日志文件获取输出.

非常感谢!

类似的问题没有答案: 如何使用sqlcmd运行sql脚本文件并输出到shell和文件

Ger*_*ima 2

我也找不到比 @Sparky 提出的更好的方法。以下代码添加了他的建议:

@echo off

:: this will execute the script into PROCESS.log
sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE

:: this present the contents of PROCESS.log to the screen
echo The result of the query was:
type PROCESS.log

pause
CHOICE /C:YN /M "Is the result accord?"
IF ERRORLEVEL 2 GOTO ENDWITHERROR
IF ERRORLEVEL 1 GOTO STEP2
Run Code Online (Sandbox Code Playgroud)