2012-09-12 1 views
0

몇 가지 CSv 입력 파일과 다른 파일 이름과 다른 날짜 형식이 있습니다. 조건에 따라 입력 파일을 동적으로 선택해야합니다.SSIS의 조건에 따라 날짜까지 입력 파일 이름 추가 변수 표현

i have files file120120909.csv, scalefile09102012.csv 

들어 난 상태에 기초하여, 입력 파일을 가져 오지해야한다. 그래서 내가 사용자 변수를 촬영하고 이런 식으로 표현을 반환 한

(@[User::Type] =="File" ? "file" : (@[User::type] =="scale" ? "scale_" :"NA")) + (DT_STR,4,1252)DATEPART("yyyy", @[System::StartTime]) + RIGHT("0" + (DT_STR,2,1252) DATEPART("mm", @[System::StartTime]),2) + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd", @[System::StartTime]),2) 

내가 [사용자 @ 사용자 변수에 값을 할당 할 때 내가 이제 다음과 같은 결과

file120120912 

있어 표현식을 평가하는 경우 :: 타입] == "scale"이면 표현식 결과는 scalefile09102012이되어야합니다.

그래서 내가

답변

0

당신은 당신의 문제를 해결하기 위해 스크립트 작업에 VB.NET 코드를 작성할 수있는 파일의 날짜를 추가 할 수있는 방법 조건에 따라 :

Dim type As String = Dts.Variables("Type").Value.ToString() 
    Dim startDate As DateTime = DateTime.Parse(Dts.Variables("StartTime").Value.ToString()) 

    Dim result As String = "" 

    If type.ToLower() = "file" Then 
     result = type.ToLower() + startDate.ToString("yyyyMMdd") 
    ElseIf type.ToLower() = "scale" Then 
     result = type.ToLower() + "file" + startDate.ToString("MMddyyyy") 
    Else 
     result = "incorrect type" 
    End If 

    MsgBox(result) 
관련 문제