Za pomocą wyrażeń można utworzyć dynamiczne połączenie.
Wybierz połączenie z pliku płaskiego z okienka Connection Managers. W okienku Właściwości kliknij Wyrażenie (...). Następnie wybierz pozycję ConnectionString Property z listy rozwijanej, aw wyrażeniu (...) wpisz swoje wyrażenie i oceń je.
Expression build -
For day : (DT_STR,4,1252)DAY(DATEADD("dd", -1, getdate()))
For month: (DT_STR,4,1252)MONTH(DATEADD("dd", -1, getdate()))
For Year: (DT_STR,4,1252)YEAR(DATEADD("dd", -1, getdate()))
przykład wyrażenie (trzeba podkręcić jak na swoje wymagania) -
"E:\\Backup\\EmployeeCount_"+(DT_STR,4,1252)DATEPART("yyyy" , getdate()) + RIGHT("0" + (DT_STR,4,1252)DATEPART("mm" , getdate()), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART("dd" , getdate()), 2) +".txt"
który daje E:\Backup\EmployeeCount_20140627.txt
jako wartość.
Uwaga - potrzebne jest działające, płaskie połączenie plików, dlatego najpierw należy utworzyć płaskie połączenie, którego właściwość connectionString zostanie następnie zastąpiona automatycznie przez wyrażenie.
Możesz także śledzić te artykuły krok po kroku.
ssis dynamically naming destination
SSIS Dynamic Flat File Connection
Related: [Jak uzyskać nazwę pliku ze znacznikiem czasu w SSIS] (http://stackoverflow.com/questions/10685999/how-to-get-filename-with-timestamp -in-ssis) – Lijo