2013-03-11 6 views
0
내가 지금 D:\\ 같은 정적하지만 경로를 내가 원하는 경로를 사용하여 내가 처음에 텍스트 파일

는 텍스트 파일에 대한 SSIS 로그 공급자와 로깅 SSIS를 들어 동적 경로를 만들기

에 대한 SSIS 로그 공급자의 경로 목적지에 문제가있어 안녕하세요

그래서 내가 SSIS에 대한 TXT 파일 연결 문자열을 식 작성기를 생성, SQL 테이블에서 경로를 얻을 변수를 넣어

@[User::LogPath]+ @[System::PackageName]+ ("_"+(RIGHT((DT_WSTR,4) 
DATEPART("yyyy",GetDate()),4)+ 
RIGHT("0"+(DT_WSTR , 2) 
DATEPART("mm", GetDate()),2)+ 
RIGHT("0"+(DT_WSTR,2) 
DATEPART("dd",GetDate()),2)+"_"+ 
RIGHT("0"+(DT_WSTR,2) 
DATEPART("HH",GetDate()),2)+"_"+ 
RIGHT("0"+(DT_WSTR,2) 
DATEPART("mi",GetDate()),2)+"_"+ 
RIGHT("0"+(DT_WSTR,2) 
DATEPART("SS",GetDate()),2))+".log") 
,

하지만 @[User::LogPath]은 경로 값을 제공하지 않으므로 txt 로그 파일이 생성되지 않았습니다.

답변

1

이 모든 설정은 모든 SSIS 패키지에서 실행됩니다. 왜냐하면 모든 것이 테이블 기반으로 유지되기를 원하기 때문입니다. 다음과 같은 SELECT 문을 사용하여 SQL 작업으로 채워집니다 내가라는 문자열 변수 만든 각 패키지 "LoggingPath을"에서

:이 SQL 작업에

SELECT FilePath 
FROM Files 
WHERE FileFunction = 'Log' 
    AND SSISPackage = 'ImportStuff' 

된 ResultSet은 "으로 설정되어 단일 행 ". 결과 집합에 대한 결과 이름 = 0 및 변수 이름 = "사용자 :: LoggingPath"앞에서 언급 한 변수를 참조하십시오. 또한 지연 유효성 검사를 "True"로 설정하여이 SQL 작업을 수행합니다.

는 SQL 작업이 실행

는 SSIS 로그 텍스트 로그 파일에서 다음 (표현식과 유사) 다음의 식에 사용 된 변수 웁니다

[사용자 :: LoggingPath] + "@를 \\ "+ @ System :: PackageName] +"_ "+ (DT_STR, 4,1252) DATEPART ("yyyy ", @ [System :: StartTime]) + RIGHT ("0 "+ (DT_STR, 4,1252) DATEPART ("mm", @ [System :: StartTime]), 2) + RIGHT ("0"+ (DT_STR, 4,1252) DATEPART ("dd", @ [System :: StartTime]), 2) + RIGHT "0"+ (DT_STR, 4,1252) DATEPART ("mi", @ [System :: StartTime] System :: StartTime]), 2) + RIGHT ("0"+ (DT_STR, 4,1252) DATEPART ("ss", @ [System :: StartTime]), 2) + ".csv"

위에 표시된 것처럼 이중 백 슬래시 "\\"를 반드시 적용해야합니다. 희망이 도움이됩니다.

Kosh

+0

표현식은 어디에 만드나요? 내 로깅 파일의 내 파일 연결 문자열 표현식에서 만듭니다. 맞습니까? 출력을 만들 수 없기 때문에 – Sabilv

+0

예, 연결 관리자에서 정의 된 로그 파일의 ConnectionString에도 식을 만듭니다. 표현식을 평가할 때 "D : \ Logging \ DataExtract_20130314131344.csv"와 유사합니다. 질문에 답한 경우 위의 응답에 대한 화살표를 확인하십시오. 감사. –

+0

예, 연결 관리자에서 정의 된 로그 파일에 대한 ConnectionString에도 식을 만듭니다. 표현식을 평가할 때 "D : \ Logging \ DataExtract_20130314131344.csv"와 유사합니다. LoggingPath = "D : \ Logging"및 PackageName = "DataExtract"를 참조하십시오. 표현을 평가할 수 있습니까? 로그 파일에 대해 DelayValidation이 "True"로 설정되어 있는지 확인하십시오. –