データをフラットファイルにエクスポートするためのSSISパッケージをスケジュールしています。
しかし、foo_20140606.csvなどの日付情報を含むファイル名を生成したい
出来ますか?
ありがとう
式を使用して、接続を動的にすることができます。
[接続マネージャー]ペインからフラットファイル接続を選択します。プロパティペインで、式(...)をクリックします。次に、ドロップダウンリストからConnectionStringプロパティを選択し、Expression(...)に式を入力して評価します。
式のビルド-
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() ))
式の例(要件に従って微調整する必要があります)-
"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"
E:\Backup\EmployeeCount_20140627.txt
値として。
注-機能するフラットファイル接続が必要なので、最初にconnectionStringプロパティが式で自動的に置き換えられるフラットファイル接続を作成します。
これらのステップバイステップの記事もフォローできます。
接続マネージャでファイル接続を選択し、プロパティに移動して、式の横にある(...)をクリックします。
エディターで、[プロパティ]列からConnectionStringを選択します。 [式]テキストボックスには、 "rootNameOfFile" +(DT_WSTR、50)(DT_DBDATE)GETDATE()+ ".csv"のように入力できます。
表現を評価して、期待どおりの結果が得られていることを確認してください。
dataFeed_ {yyyyMMdd} .txtのようなSSISパッケージのフラットファイルまたはcsvファイルの動的ファイル名を簡単に指定できます。 DataFeed_20181212.txt。単純にフラットファイル接続マネージャーのプロパティに移動し、式の値を定義します。別の方法では、パッケージレベルの変数とこの変数を式で使用でき、環境ごとに、構成ファイル.dtsconfigファイルを使用してフォルダーの場所を定義できます。
SSDTがなく、GUIでこれを編集できない場合は、SSISパッケージを直接編集する方法を次に示します。
前:
<DTS:ConnectionManager
DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]"
DTS:ObjectName="DestinationConnectionFlatFile"
DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}"
DTS:CreationName="FLATFILE">
<DTS:ObjectData>
後:
<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>