저는 Windows 서버 엔터프라이즈 시스템 SP2에서 DOS 6.0.6002를 실행하고 있습니다. SQL Server 2008 R2 (10.50.4000) DOS에 주 제어 프로그램이 있습니다. sqlcmd를 통해 SQL 프로그램을 호출하고 있습니다. 단순화 된 버전은 다음과 같습니다DOS에서 오류 테스트 및 제어
set sqlsvr=myServer
set logfile=logfile.txt
sqlcmd -S %sqlsvr% -d myDB -i import_some_stuff.sql > "%logfile%" 2>&1
echo error level = %ERRORLEVEL%
나는 꽤 튼튼이 프로그램이 필요합니다. 매일 많은 파일과 테이블에 대해 실행해야합니다. 실패하면 sysadmin에게 알려야합니다. 당장은 그냥 잡으세요.
1) 존재하지 않는 하나에 파일의 이름을 변경 :
그래서이 테스트 할
, 나는 다음 테스트를 시도했습니다. 결과 : 1의 errorlevel을 반환합니다 (즉, 오류가 발생했습니다!) bravo!2) SQL 프로그램 앞에있는 구문상의 쓰레기를 입력하십시오. 결과는 :..이 로그 파일에서 오류 메시지를 출력하지만 오류를 반환하지 않습니다 (그래서 %의 ERRORLEVEL %의에서 리턴 값이 0이 나에게 놀라운 보인다 나는 무엇 실종
견고하고 _Batch scripting_가 가지 않는다이다 아주 잘 함께 ... 왜 Powershell이나 Perl이나 ... 같은게 아닌가? – Lucas
cmd.exe는 DOS와는 아무런 관련이없는 Windows 콘솔 모드 프로그램입니다. 유사점은 순전히 피상적입니다. –
나는 그것을 깨닫지 못했다. 빌. 수정 해줘서 고마워. – elbillaf