먼저 모든 사람이 나에게 소리를 지르기 전에 - 나는 레거시 코드에서 버그를 수정하고 다시 쓰기가 현재 카드에서 해제되어 있습니다. - 해결 방법을 찾아야합니다. xp_cmdshell 명령을 사용하십시오.xp_cmdshell 명령이 작업으로 실행될 때 마지막 명령을 실행하지 않음
나는 예약 된 작업을 통해 실행되는 proc 파일을 가지고 있습니다. proc은 아래의 TSQL로 가득 차서 데이터를 로그 파일에 덤프합니다.
SELECT *
INTO Temp
FROM MyView
SET @cmd1 = 'bcp "SELECT * FROM [myDatabase].dbo.Temp" queryout "C:\temp.txt" -T -c -t" "'
SET @cmd2= 'type "C:\temp.txt" >> "C:\output.txt"'
EXEC master..xp_cmdshell @cmd1
EXEC master..xp_cmdshell @cmd2
DROP TABLE Temp
문제는 proc에서 이러한 명령 중 마지막 명령이 실행되지 않는 것입니다. 결과는 text.txt 파일에서 볼 수 있지만 output.txt 파일에서는 볼 수 없습니다. 위의 모든 작업을 잘하지만 그것은 그것을 잘 실행할 때 자신의 그것에 작동합니다.
왜 이런 일이 일어날 수 있는지 제안하거나이를 달성하기위한 대안을 제안 할 수 있습니까?
덕분에 외부 프로세스로 BCP는 비동기를 실행하도록
코드를 단순화 한 것입니다. –
@LawrencePhillips 좋습니다. 이것은 바보 같은 생각이었습니다 ... 내 업데이트보기 ... – Shnugo