2012-09-17 3 views
1

모두.SQL Server 에이전트를 통해 실패하는 일괄 파일

정의 된 데이터베이스의 데이터를 쿼리하고 특정 위치의 CSV 파일에 넣는 SSIS 패키지를 작성했습니다. 그런 다음 SSIS 패키지 내에서 지정된 디렉터리에 폴더를 만드는 미리 작성된 배치 파일을 호출하고 폴더 이름을 "yyyy-mm-dd"형식의 이름으로 바꾼 다음 새로 만든 CSV 파일을 새 파일로 이동합니다 생성 된 폴더.

배치 파일의 코드는 다음과 같이

@echo off 
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B 
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B 
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B 
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B 
SET date=%date:~6,6%-%date:~3,2%-%date:~0,2% 
md \\remote_folder\%date% 
move /Y \\remote_folder\*.csv \\remote_folder\%date% 
exit 

내 SSIS 패키지에서이 작업을 실행, 모든 것이 잘 작동합니다.

에이전트 작업을 시작하는 서비스 계정에는 전체 관리 권한이 있습니다. SQL Server Agent를 사용하여이 작업을 자동화 된 작업으로 예약하면 폴더가 제대로 만들어지지 않습니다. 내 생각에 SQL Agent 중 하나가 배치 파일을 실행하는 데 문제가 있거나 호환되지 않습니다.

다른 누구도이 문제를 알고 있거나 해결 방법을 알고 있습니까?

+0

배치 파일을 찾았습니까? – Sam

+0

예.하지만 에이전트를 통해 실행할 때 배치 파일이 폴더를 잘못 만듭니다. 내가 "틀린 말"이라고 말하면 폴더가 만들어지고 "12"라는 레이블이 붙은 다음 "09"라는 레이블이 붙은 하위 폴더를 만든 다음 "18"이라는 레이블이 붙은 하위 폴더 내에 다른 하위 폴더를 만듭니다. – prevynjeftha

+0

그리고 폴더 이름이 무엇을 의미합니까? 창문 일괄 처리 스크립트에서는별로 좋지 않습니다. 또 다른 옵션으로 powershell에서이 작업을 수행 할 수 있습니다.) – Sam

답변

1

을 사용하여 파일 시스템 작업 :

는 식으로 값을 설정 RmtArchPath (문자열)라는 변수 만들기 : (

"\\\\ Remote_folder \\"+를 DT_WSTR + "-" + RIGHT ("0"+ (DT_WSTR, 2) MONTH (GETDATE()), 2) + "-" + RIGHT ("0"+ (DT_WSTR, 2) 오늘 (GETDATE()), 2) + "\\"

파일 시스템 태스크를 생성하십시오. 작업을 위해 디렉토리 생성을 선택합니다. UseDirectoryIfExists의 경우 True를 선택하십시오. IsSourcePathVariable에 대해 RmtArchPath를 선택하십시오.

는 SrcFileName (문자열)

ForEachLoop 컨테이너 만들기라는 두 번째 변수를 만듭니다. 컬렉션에 대해 "Foreach File Enumerator"열거자를 선택하고 Folder = \\ Remote_Folder를 설정하고 files = * .csv로 설정합니다. 변수 매핑의 경우 변수 = User :: SrcFileName을 설정합니다.

루프에 파일 시스템 작업을 연결하십시오. (FS 작업에서 흐름 방향에 대한 루프까지).

루프 내부에 두 번째 파일 시스템 작업을 만듭니다.

작업을 위해 파일 이동을 선택하십시오. IsDestinationPathVariable을 True로 설정하고 DestinationVariable = RmtArchPath로 설정합니다. IsSourcePathVariable = True, Set SourceVariable = SrcFileName으로 설정하십시오.

+0

굉장! 감사! – prevynjeftha

관련 문제