2014-06-27 8 views

Odpowiedz

15

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

enter image description here

enter image description here

+1

Ooh, podoba mi się twoje, ma purdy zdjęcia! :) – Kritner

1

Wybierz połączenie pliku w menedżerów połączenia, przejdź do Właściwości i kliknij na (...) obok wyrazu.

W edytorze wybierz ConnectionString z kolumny Property. W polu Expression, można wprowadzić coś takiego jak "rootNameOfFile" + (DT_WSTR, 50) (DT_DBDATE) GetDate() + ".csv"

Ocenić swój wyraz upewnij się, że dostajesz to, czego się spodziewać, i voila!

0

Jeśli nie masz SSDT, a tym samym nie może edytować ten z GUI tutaj sposób można edytować bezpośrednio pakietu SSIS :

Poprzednio:

<DTS:ConnectionManager 
     DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]" 
     DTS:ObjectName="DestinationConnectionFlatFile" 
     DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}" 
     DTS:CreationName="FLATFILE"> 
     <DTS:ObjectData> 

Po:

<DTS:ConnectionManager 
     DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]" 
     DTS:CreationName="FLATFILE" 
     DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}" 
     DTS:ObjectName="DestinationConnectionFlatFile"> 
     <DTS:PropertyExpression 
     DTS:Name="ConnectionString">"C:\\Exportdir\\Filename_" 
+ (DT_WSTR,4)DATEPART("yyyy",GetDate()) + 
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) + ".csv"  
     </DTS:PropertyExpression> 
     <DTS:ObjectData>