it-swarm.com.de

SQL Server SSIS-Paket Flat File Zieldateinamenmuster (Datum, Uhrzeit oder ähnliches)?

Ich plane ein SSIS-Paket für den Export von Daten in eine Einfachdatei.

Ich möchte jedoch Dateinamen mit Datumsangaben generieren, z. B. foo_20140606.csv

Ist es möglich?

Vielen Dank

8
ʞᴉɯ

Mit Hilfe von Ausdrücken können Sie die Verbindung dynamisieren. 

Wählen Sie im Bereich Verbindungsmanager Ihre Flat-File-Verbindung aus. Klicken Sie im Eigenschaftenbereich auf Ausdruck (...). Wählen Sie dann ConnectionString-Eigenschaft aus der Dropdown-Liste aus und geben Sie in Expression (...) Ihren Ausdruck ein und werten Sie ihn aus. 

Ausdruck bauen - 

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() ))

Beispielausdruck (Sie müssen gemäß Ihrer Anforderung anpassen) - 

"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" 

was E:\Backup\EmployeeCount_20140627.txt als Wert angibt. 

Bitte beachten Sie - Sie benötigen eine Flat-File-Verbindung, erstellen Sie also zunächst eine Flat-File-Verbindung, deren Eigenschaft connectionString automatisch durch einen Ausdruck ersetzt wird.

Sie können diese Artikel auch Schritt für Schritt verfolgen. 

ssis dynamisches Ziel benennen

Dynamische SSIS-Flat-File-Verbindung

enter image description here

enter image description here

22

Wählen Sie Ihre Dateiverbindung in den Verbindungsmanagern aus, gehen Sie zu den Eigenschaften und klicken Sie auf die (...) neben Ausdrücken. 

Wählen Sie im Editor ConnectionString aus der Spalte Property aus. Geben Sie im Textfeld Ausdruck so etwas wie "rootNameOfFile" + (DT_WSTR, 50) (DT_DBDATE) GETDATE () + ".csv" ein.

Bewerten Sie Ihren Ausdruck, um sicherzustellen, dass Sie das bekommen, was Sie erwarten, und voila!

1
Kritner

sie können den dynamischen Dateinamen für eine flache oder csv-Datei im SSIS-Paket wie DataFeed_ {yyyyMMdd} .txt angeben, z. DataFeed_20181212.txt. Rufen Sie einfach die Flat-File-Connection-Manager-Eigenschaft auf und definieren Sie den Ausdruckswert. Auf andere Weise können Sie die Variable auf Paketebene und diese Variable, die Sie in expression verwenden können, definieren. Je nach Umgebung können Sie den Ordnerpfad mithilfe der Konfigurationsdatei .dtsconfig definieren

mehr Details @ ssis dynamischer Dateiname für Flatfile

0
Rajeev Tiwari

Wenn Sie nicht über SSDT verfügen und dies daher nicht mit einer grafischen Benutzeroberfläche bearbeiten können, können Sie das SSIS-Paket direkt bearbeiten:

Vor:

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

Nach dem:

<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>
0
Kobbe