Verwenden von Datentypen im Datenfluss
Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory
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 Artikel 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
In der folgenden Tabelle sind die Datentypen in der ersten Spalte und dazu die entsprechenden Set- und Get-Methoden aufgelistet.
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 Server Integration Services-Typen, die in der DataType-Enumeration definiert sind und den verwalteten Datentypen von Microsoft .NET Framework konvertieren, die im System-Namespace definiert sind. 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.
Hinweis
Die Zuordnungsdateien im XML-Format, die standardmäßig unter „C:\Programme\Microsoft SQL Server\130\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 zu Oracle) und werden nur vom SQL Server-Import/Export-Assistenten verwendet. Weitere Informationen zu diesen Zuordnungsdateien finden Sie unter SQL Server-Import/Export-Assistent.
Zuordnungen zwischen Integration Services und verwalteten Datentypen
Die Methoden BufferTypeToDataRecordType und DataRecordTypeToBufferType ordnen Integration Services-Datentypen den verwalteten Datentypen zu.
Achtung
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 ConvertBufferDataTypeToFitManaged-Methodenklasse ordnet die Integration Services-Datentypen anderen Integration Services-Datentypen zu, die dann mithilfe der BufferTypeToDataRecordType-Methode verwalteten Datentypen zugeordnet werden können.
Achtung
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 wird aufgeführt, wie die ConvertBufferDataTypeToFitManaged-Methode Integration Services-Datentypen anderen Integration Services-Datentypen zuordnet.
Ursprünglicher Integration Services-Datentyp | Entsprechender Integration Services-Datentyp |
---|---|
DT_DECIMAL | DT_NUMERIC |
DT_CY | DT_NUMERIC |
DT_DATE | DT_DBTIMESTAMP |
DT_DBDATE | DT_DBTIMESTAMP |
DT_FILETIME | DT_DBTIMESTAMP |
DT_DBTIMESTAMP2 | DT_DBTIMESTAMP |
DT_DBTIME | DT_DBTIME2 |
DT_BOOL | DT_I4 |
DT_TEXT | DT_WSTR |
DT_NTEXT | DT_WSTR |
DT_STR | DT_WSTR |
DT_IMAGE | DT_BYTES |
Hinweis
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- und Uhrzeitdatentypen 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 Integration Services-Datentypen.
Weitere Informationen
BufferTypeToDataRecordType
DataRecordTypeToBufferType
ConvertBufferDataTypeToFitManaged
SQL Server Integration Services-Datentypen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für