| 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
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.
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.
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.
Komponentenindex:
letzte Änderung 4.9.2006 |