Freigeben über


Verwenden von Datentypen im Datenfluss

Wenn Sie eine benutzerdefinierte Datenflusskomponente in Integration Services entwickeln, arbeiten Sie ständig mit Datentypen, kopieren Daten in und aus Datenflusspuffern und transformieren Werte. Mithilfe der Informationen in diesem Thema können Sie die geeigneten Integration Services-Datentypen und die richtigen Verwendungsmethoden auswählen.

Einfügen von Daten in den Datenfluss

Die PipelineBuffer-Klasse bietet eine Reihe von Set-Methoden für das Kopieren von Daten in Pufferspalten sowie eine weitere Reihe von Get-Methoden für das Abrufen von Daten aus Pufferspalten. In den folgenden Tabellen sehen Sie, welche Methode Sie für welchen Integration Services-Datentyp verwenden können.

Festlegen von Methoden zur Verwendung mit Datentypen

Datentypen zur Verwendung mit der Set-Methode

Zuordnen von Datentypen im Datenfluss

Wenn Daten durch Transformationen von der Quelle zum Ziel verschoben werden, muss eine Datenflusskomponente unter Umständen Datentypen zwischen den SQL ServerIntegration Services-Typen, die in der DataType-Enumeration definiert sind und den verwalteten Datentypen von Microsoft.NET Framework, die im System-Namespace definiert sind, konvertieren. Darüber hinaus muss eine Komponente gegebenenfalls einen Integration Services-Datentyp in einen anderen konvertieren, bevor dieser Typ in einen verwalteten Typ konvertiert werden kann.

HinweisHinweis

Die Zuordnungsdateien im XML-Format, die standardmäßig unter C:\Programme\Microsoft SQL Server\100\DTS\MappingFiles installiert werden, hängen nicht mit der in diesem Thema erläuterten Datentypzuordnung zusammen. Diese Dateien ordnen Datentypen aus einer Datenbankversion oder einem System zu (z. B. von SQL Server 2000 zu SQL Server oder von SQL Server zu Oracle), und werden nur vom SQL Server-Import/Export-Assistenten verwendet. Weitere Informationen zu diesen Zuordnungsdateien finden Sie unter Importieren und Exportieren von Daten mit dem SQL Server-Import/Export-Assistenten.

Zuordnungen zwischen Integration Services und verwalteten Datentypen

Die PipelineComponent..::..BufferTypeToDataRecordType- und die PipelineComponent..::..DataRecordTypeToBufferType-Methode ordnen Integration Services-Datentypen verwalteten Datentypen zu.

VorsichtshinweisVorsicht

Entwickler sollten bei der Verwendung der PipelineComponent-Klasse sorgfältig vorgehen und ggf. eigene Codedatentyp-Zuordnungsmethoden verwenden, die für die speziellen Anforderungen ihrer benutzerdefinierten Komponenten besser geeignet sind. Die vorhandenen Methoden berücksichtigen keine numerische Genauigkeit oder Dezimalstellen oder andere Eigenschaften, die eng mit dem Datentyp verbunden sind. Microsoft kann diese Methoden ändern oder entfernen oder die durchgeführten Zuordnungen in einer künftigen Version von Integration Services ändern.

In der folgenden Tabelle ist aufgeführt, wie die Methoden BufferTypeToDataRecordType und DataRecordTypeToBufferType verschiedene Integration Services-Datentypen verwalteten Datentypen zuordnen.

Integration Services-Datentyp

Entsprechender verwalteter Datentyp

DT_WSTR

System.String

DT_BYTES

Array von System.Byte

DT_DBTIMESTAMP

System.DateTime

DT_DBTIMESTAMP2

System.DateTime

DT_DBTIMESTAMPOFFSET

System.DateTimeOffset

DT_DBDATE

System.DateTime

DT_DBTIME

System.TimeSpan

DT_DBTIME2

System.TimeSpan

DT_DATE

System.DateTime

DT_FILETIME

System.DateTime

DT_NUMERIC

System.Decimal

DT_GUID

System.Guid

DT_I1

System.SByte

DT_I2

System.Int16

DT_I4

System.Int32

DT_I8

System.Int64

DT_BOOL

System.Boolean

DT_R4

System.Single

DT_R8

System.Double

DT_UI1

System.Byte

DT_UI2

System.UInt16

DT_UI4

System.UInt32

DT_UI8

System.UInt64

Zuordnen von Integration Services-Datentypen zu optimierten verwalteten Datentypen

Unter Umständen muss eine Datenflusskomponente einen Integration Services-Datentyp in einen anderen konvertieren, bevor dieser Typ in einen verwalteten Typ konvertiert werden kann. Die PipelineComponent..::..ConvertBufferDataTypeToFitManaged-Methodenklasse ordnet Integration Services-Datentypen anderen Integration Services-Datentypen zu, die dann anhand der PipelineComponent..::..BufferTypeToDataRecordType-Methode verwalteten Datentypen zugeordnet werden können.

VorsichtshinweisVorsicht

Entwickler sollten bei der Verwendung der PipelineComponent-Klasse sorgfältig vorgehen und ggf. eigene Codedatentyp-Zuordnungsmethoden verwenden, die für die speziellen Anforderungen ihrer benutzerdefinierten Komponenten besser geeignet sind. Die vorhandenen Methoden berücksichtigen keine numerische Genauigkeit oder Dezimalstellen oder andere Eigenschaften, die eng mit dem Datentyp verbunden sind. Microsoft kann diese Methoden ändern oder entfernen oder die durchgeführten Zuordnungen in einer künftigen Version von Integration Services ändern.

In der folgenden Tabelle ist aufgeführt, wie die ConvertBufferDataTypeToFitManaged-Methode Integration Services-Datentypen anderen Integration Services-Datentypen zuordnet.

HinweisHinweis

Die ConvertBufferDataTypeToFitManaged-Methode gibt keinen Wert für den DT_DBTIMESTAMPOFFSET-Datentyp zurück, und es tritt ein UnsupportedBufferDataTypeException auf. Sie müssen den DT_DBTIMESTAMPOFFSET-Datentyp in einen der Datums-/Zeitdatentypen von Integration Services konvertieren, die einem verwalteten Datentyp zugeordnet werden können. Eine Liste der Datums-/Zeitdatentypen von Integration Services, die einem verwalteten Datentyp zugeordnet werden können, finden Sie in der Tabelle im vorhergehenden Abschnitt "Zuordnungen zwischen Integration Services und verwalteten Datentypen". Informationen zum Konvertieren von Datentypen finden Sie unter SQL Server Integration Services-Datentypen.

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.