设为首页 加入收藏

TOP

关于sqlserversqlcmd异常捕捉%errorlevel%
2015-07-24 10:25:32 来源: 作者: 【 】 浏览:1
Tags:关于 sqlserversqlcmd 异常 捕捉 %errorlevel%

?

基本语法关键看-b on error batch abort 和 -m errorlevel

?

\

runsql.bat

@echo off
:start
cd %cd%
@echo current directory is %cd%
@echo start testing
@echo good example
rem good sql 
sqlcmd -E -dmaster -Q%1 -W -b -m-1 -h-1 -s^|
rem if the query or batch file abort
@if %errorlevel%==1  goto b1 
@if %errorlevel%==0  goto g1 
:g1
rem if finished
echo run example1 successful, errorlevel=%errorlevel%
goto exit1
:b1
rem error message
@echo run example1 failed, errorlevel=%errorlevel%
goto exit1
rem exit1
:exit1
echo exit
测试 \ straxsql.bat
@echo off
@REM ******** ******** General Batch for Starting SQL ******** ******** 
@REM %1 is the name of SQL script file
@rem SET SQL_NAME=%1
@SET SQL_NAME=%1
@SHIFT /1
@REM SHIFT /1
@REM P1... is parameters of SQLCMD,P1=%1...
@rem c for count
@set /a c=0

@rem ******** ******** parameters for sql server login ******** ********  
rem @set svrName=ryemsqapaxdb1.na.avonet.net
rem @set uname=batchap
rem @set upwd=1qaz2WSX
rem @set db=apoms

@set s= %1 %2 %3 %4 %5 %6 %7 %8 %9
@FOR %%A IN (%s%) DO @set /a c=c+1
@if %c%==9  goto s9
@if %c%==8  goto s8
@if %c%==7  goto s7
@if %c%==6  goto s6
@if %c%==5  goto s5
@if %c%==4  goto s4
@if %c%==3  goto s3
@if %c%==2  goto s2
@if %c%==1  goto s1
@if %c%==0  goto s0 
:s9
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4 p5=%5 p6=%6 p=%7 p8=%8 p9=%9 
@goto end
:s8
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4 p5=%5 p6=%6 p=%7 p8=%8  
@goto end
:s7
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4 p5=%5 p6=%6 p=%7  
@goto end
:s6
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4 p5=%5 p6=%6  
@goto end
:s5
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4 p5=%5  
@goto end
:s4
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 p4=%4  
@goto end
:s3
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  p3=%3 
@goto end
:s2
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 P2=%2  
@goto end
:s1
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60 -v P1=%1 
@goto end
:s0
sqlcmd -E -dmaster -W -b -m-1 -h-1 -s^| -i %SQL_NAME% -l60
@goto end
:end 
@if %errorlevel%==1  goto bad
@if %errorlevel%==0  goto good
@goto exit

:bad
@echo file %SQL_NAME% ran failed
@goto exit

:good
@echo file %SQL_NAME% ran successfully
@goto exit

:exit
@echo exit 

case 1 \case2 \
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux-6.5下基于cmake28来编译安.. 下一篇GROUPBY外移,提高SQL运行速度

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python爬虫教程(从 (2025-12-26 16:49:14)
·【全269集】B站最详 (2025-12-26 16:49:11)
·Python爬虫详解:原 (2025-12-26 16:49:09)
·Spring Boot Java: (2025-12-26 16:20:19)
·Spring BootでHello (2025-12-26 16:20:15)