Home
Datenquellen
Controllflow
DataFlow
SSIS
ToC
Impressum
Spielereien mit dem Datum

Es kommt in der Praxis immer wieder vor, dass Daten aus Textdateien eingelesen werden müssen. Sehr häufig sind in diesen Textdateien auch Spalten, die ein Datum darstellen.

Als Datentypen werden für diese Spalten "DT_DATE" oder "DT_DBDATE" verwendet.

Selbstverständlich wollen Sie diese Datumsspalten in der Datenbank tatsächlich auch als Datumswerte speichern. Nur so können Sie die eingebaute Datumslogik in der Datenbank nutzen.

Welche Datumsformate unterstützt SSIS beim Konvertieren von Strings in Datumswerte?

SSIS versteht das Datumsformat, dass durch die Einstellungen im Flat File Connection Manager Editor
dem Punkt 'Locale' festgelegt wird. Der Zeichensatz zum Einlesen wird durch den Punkt 'Code Page' festgelegt. In der Einstellung für 'Germany (Germany)' wird das Format DMY mit dem Trennzeichen '.' als gültiges Datum verarbeitet. Selbstverständlich wird auch die Interpretation von Zahlen mit Dezimalstellen durch die die 'Locale' festgelegt.

Zusätzlich kann das Datum im ISO 8601 Format YYYY-MM-DD richtig verarbeitet werden.

Das sehr häufig vorkommende Format YYYYMMDD (ISO Format allerdings ohne Trennzeichen, dass das bevorzugte Datumsformat für den SQL Server ist) wird nicht als gültiges Datum erkannt. Dazu muss die Fastparse Option für die Spalte aktiviert werden.

Derived Column Transformation Editor

Als Abhilfe bleibt in dieser Situation nur der Einsatz der Derived Column Transformation. Die Expression sieht nur auf den ersten Blick etwas kompliziert aus: 'SUBSTRING(Datum,1,4) + "-" + SUBSTRING(Datum,5,2) + "-" + SUBSTRING(Datum,7,2)'.

An dieser Stelle bleibt uns nichts anderes übrig, als ein Datum als String zu behandeln und dann entsprechend zu zerlegen. Die zerlegten Werte werden dann wieder zu einem ISO Datum mit Trennzeichen zusammengesetzt, damit keine Bezüge zur Locale hergestellt werden müssen.

Flat File Destination Editor

Eine andere Möglichkeit besteht darin, das Datum mit einer .Net Funktion direkt im Datenfluss zu parsen. Die entsprechenden Informationen finden Sie hier.

Hier finden Sie zwei Beispielpakete.
Bitte achten Sie darauf, dass die Verbindungsmanager an Ihre Umgebung angepasst werden müssen.
 

Komponentenindex:

  • Flatfilequelle
  • Abgeleitete Spalte
  • Expression

letzte Änderung 4.9.2006