Kontakt  Impressum 
 
       Navigationslinks überspringen.   

Datentypen

Die Integration Services verwenden eigene Datentypen, die nicht zu 100% mit den Datentypen des .NET-Frameworks und des SQL-Servers übereinstimmen.
Die Verwendung spezieller Datentypen ist notwendig, da ein ETL-Programm wie die Integration Services die Kommunikation zwischen deutlich unterschiedlichen Datenwelten ermöglicht. Um einen möglichst geringen Datenverlust zu erreichen, wird eine Vielzahl von Datentypen zur Verfügung gestellt.
Werden Daten aus einer externen Quelle in einen Datenfluss eingelesen, werden diese automatisch von der Quelle in einen Integration Services-Datentyp konvertiert. Anhand der externen Metadaten wird versucht, einen möglichst optimalen Datentyp zu ermitteln. Numerische Daten werden z.B. in einen numerischen Datentyp gespeichert, Strings in einem Zeichendatentyp.
Auf die automatische Zuweisung des Datentyps kann bei den meisten Quellen kein Einfluss genommen werden. Dies führt bei unstrukturierten Daten, z.B. bei Excel-Tabellen, teilweise zu einer unerwünschten Auswahl des Datentyps. Dieses Problem kann durch die Verwendung einer Skriptkomponente als Datenquelle umgangen werden. Jedoch muss in diesem Fall die Schnittstelle manuell programmiert werden.
Können externe Daten nicht in einen Integration Services-Datentyp konvertiert werden, wird eine Fehlermeldung ausgegeben. Die nachfolgende Tabelle 1 gibt einen Überblick über die wichtigsten Integration Services-Datentypen.

Datentyp Beschreibung
DT_BOOL Boolscher Wert
DT_BYTES Binärer Wert mit einer variabler Länge, max. Länge von 8.000 Zeichen
DT_CY Währungswert. Festkommazahl max. Genauigkeit von 19 Stellen davon 4 Dezimalstellen
DT_DATE Datum mit Jahr, Monat, Tag und Stunde
DT_DBDATE Datum mit Jahr, Monat und Tag
DT_DBTIME Zeitstruktur / Uhrzeit mit Stunde, Minute und Sekunde
DT_DBTIMESTAMP Datum mit Jahr, Monat, Tag, Stunde, Minute, Sekunde und dem Bruchteil der Sekunde
DT_DECIMAL Festkommazahl max. Genauigkeit 29 Stellen. 0 bis 28 Dezimalstellen
DT_FILETIME Anzahl der 100er-Nanosekunden seit dem 1.Januar.1601
DT_GUID Globaler eindeutiger Bezeichner (GUID, Globally Unique Identifier)
DT_I1 Integerwert bis +/- 128
DT_I2 Integerwert bis +/- 32.768
DT_I4 Integerwert bis +/- 2.147.483.648
DT_I8 Integerwert bis +/- 9.223.372.036.854.775.808
DT_NUMERIC Festkommazahl max. Genauigkeit 38 Stellen. 0 bis 38 Dezimalstellen
DT_R4 Einfache Fließkommazahl
DT_R8 Doppelte Fließkommazahl
DT_STR String mit max. 8.000 Zeichen
DT_UI1 Integerwert ohne Vorzeichen bis 128
DT_UI2 Integerwert ohne Vorzeichen bis 32.768
DT_UI4 Integerwert ohne Vorzeichen bis 2.147.483.648
DT_UI8 Integerwert ohne Vorzeichen bis 9.223.372.036.854.775.808
DT_WSTR Unicode-Zeichenfolge mit einer max. Länge von 4.000 Zeichen
DT_IMAGE Binärwert mit einer max. Größe von 2 GB
DT_NTEXT Unicode-Zeichenfolge mit einer max. Größe von 1 GB
DT_TEXT ANSI-Zeichenfolge mit einer max. Größe von 2 GB
Tabelle 1: Datentypen der Integration Services Datentypen

Änderung des Datentyps

Die optimale Wahl des Datentyps kann die Performance eines Integration Services-Paketes deutlich verbessern. Die gewählten Datentypen sollten möglichst wenig Platz verbrauchen, damit der Hauptspeicher bestmöglichst genutzt wird und möglichst wenig ausgelagert werden muss.
Mit den Standardkomponenten Datenkonvertierung und Abgeleitete Spalte können Spalten mit Hilfe der Ausdrucksprogrammierung in einen anderen Datentyp konvertiert werden.
Mit einer asynchronen Skriptkomponente können Sie nicht mehr benötigte Spalten aus dem Datenfluss entfernen und gleichzeitig eine Konvertierung durchführen.