Partager via


Utilisation de types de données dans le flux de données

Lors du développement d'un composant de flux de données personnalisé dans Integration Services, vous travaillez constamment avec des types de données, en copiant des données depuis et vers les mémoires tampons du flux de données et en transformant des valeurs. Les informations contenues dans cette rubrique vous aident à choisir les types de données Integration Services corrects, ainsi qu'à utiliser les méthodes appropriées lorsque vous les utilisez.

Insertion de données dans le flux de données

La classe PipelineBuffer fournit une série de méthodes Set pour copier des données dans des colonnes tampons, ainsi qu'une série correspondante de méthodes Get pour extraire des données dans les colonnes tampons. Les tableaux suivants indiquent la méthode à utiliser avec chaque type de données Integration Services.

Méthodes Set à utiliser avec les types de données

Le tableau suivant répertorie le type de données dans la première colonne, puis les méthodes Set et Get correspondantes.

Type de données

Méthode Set

Méthode Get

DT_BOOL

SetBoolean

GetBoolean

DT_BYTES

SetBytes

GetBytes

DT_CY

SetDecimal

GetDecimal

DT_DATE

SetDateTime

GetDateTime

DT_DBDATE

SetDate

GetDate

DT_DBTIME

SetTime

GetTime

DT_DBTIME2

SetTime

GetTime

DT_DBTIMESTAMP

SetDateTime

GetDateTime

DT_DBTIMESTAMP2

SetDateTime

GetDateTime

DT_DBTIMESTAMPOFFSET

SetDateTimeOffset

GetDateTimeOffset

DT_DECIMAL

SetDecimal

GetDecimal

DT_FILETIME

SetDateTime

GetDateTime

DT_GUID

SetGuid

GetGuid

DT_I1

SetSByte

GetSByte

DT_I2

SetInt16

GetInt16

DT_I4

SetInt32

GetInt32

DT_I8

SetInt64

GetInt64

DT_IMAGE

AddBlobData ou AddBlobData

GetBlobData

DT_NTEXT

AddBlobData ou AddBlobData

GetBlobData

DT_NULL

SetNull

Aucune méthode Get n'est applicable à ce type de données.

DT_NUMERIC

SetDecimal

GetDecimal

DT_R4

SetSingle

GetSingle

DT_R8

SetDouble

GetDouble

DT_STR

SetString

GetString

DT_TEXT

AddBlobData ou AddBlobData

GetBlobData

DT_UI1

SetByte

GetByte

DT_UI2

SetUInt16

GetUInt16

DT_UI4

SetUInt32

GetUInt32

DT_UI8

SetUInt64

GetUInt64

DT_WSTR

SetString

GetString

Types de données à utiliser avec les méthodes Set

Méthode Set

Type de données

AddBlobData ou AddBlobData

DT_IMAGE, DT_NTEXT ou DT_TEXT

SetBoolean

DT_BOOL

SetByte

DT_UI1

SetBytes

DT_BYTES

SetDate

DT_DBDATE

SetDateTime

DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 ou DT_FILETIME

SetDateTimeOffset

DT_DBTIMESTAMPOFFSET

SetDecimal

DT_CY, DT_DECIMAL ou DT_NUMERIC

SetDouble

DT_R8

SetGuid

DT_GUID

SetInt16

DT_I2

SetInt32

DT_I4

SetInt64

DT_I8

SetNull

DT_NULL

SetSByte

DT_I1

SetSingle

DT_R4

SetString

DT_STR ou DT_WSTR

SetTime

DT_DBTIME ou DT_DBTIME2

SetUInt16

DT_UI2

SetUInt32

DT_UI4

SetUInt64

DT_UI8

Mappage des types de données dans le flux de données

Lors du déplacement de données depuis des sources vers des destinations en passant par des transformations, un composant de flux de données doit parfois convertir des types de données entre les types SQL Server Integration Services définis dans l'énumération DataType et les types de données managées de Microsoft .NET Framework définis dans l'espace de noms System. De plus, un composant doit parfois convertir un type de données Integration Services en autre type de données pour que ce type puisse être converti en type managé.

[!REMARQUE]

Les fichiers de mappage au format XML installés par défaut dans C:\Program Files\Microsoft SQL Server\110\DTS\MappingFiles ne sont pas liés au mappage des types de données décrit dans cette rubrique. Ces fichiers mappent les types de données d'une version de base de données ou d'un système vers une autre ou un autre (par exemple, de SQL Server à Oracle), puis ils sont utilisés uniquement par l'Assistant Importation et exportation SQL Server. Pour plus d'informations sur ces fichiers de mappage, consultez Assistant Importation et Exportation SQL Server.

Mappage entre Integration Services et les types de données managées

Les méthodes PipelineComponent.BufferTypeToDataRecordType et PipelineComponent.DataRecordTypeToBufferType mappent les types de données Integration Services à des types de données managées.

AttentionAttention

Les développeurs doivent utiliser ces méthodes de la classe PipelineComponent avec prudence et peuvent coder leurs propres méthodes de mappage des types de données si elles conviennent mieux aux besoins uniques de leurs composants personnalisés. Les méthodes existantes ne considèrent aucune précision numérique ou échelle, ni d'autres propriétés étroitement liées au type de données lui-même. Microsoft pourra modifier ou supprimer ces méthodes, voire modifier les mappages effectués, dans une future version de Integration Services.

Le tableau suivant indique la manière dont les méthodes BufferTypeToDataRecordType et DataRecordTypeToBufferType mappent divers types de données Integration Services à des types de données managées.

Type de données Integration Services

Type de données managées auquel il est mappé

DT_WSTR

System.String

DT_BYTES

Tableau de 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

Mappage des types de données Integration Services à des fins d'adéquation avec les types de données managées

Parfois, un composant de flux de données doit également convertir un type de données Integration Services en autre type de données pour que ce type puisse être converti en type managé. La classe de méthode PipelineComponent.ConvertBufferDataTypeToFitManaged mappe les types de données Integration Services à d'autres types de données Integration Services qui peuvent alors être mappés aux types de données managées à l'aide de la méthode PipelineComponent.BufferTypeToDataRecordType.

AttentionAttention

Les développeurs doivent utiliser ces méthodes de la classe PipelineComponent avec prudence et peuvent coder leurs propres méthodes de mappage des types de données si elles conviennent mieux aux besoins uniques de leurs composants personnalisés. Les méthodes existantes ne considèrent aucune précision numérique ou échelle, ni d'autres propriétés étroitement liées au type de données lui-même. Microsoft pourra modifier ou supprimer ces méthodes, voire modifier les mappages effectués, dans une future version de Integration Services.

Le tableau suivant indique la manière dont la méthode ConvertBufferDataTypeToFitManaged mappe les types de données Integration Services à d'autres types de données Integration Services.

Type de données Integration Services d'origine

Type de données Intégration Services auquel il est mappé

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

[!REMARQUE]

La méthode ConvertBufferDataTypeToFitManaged ne renvoie pas de valeur pour le type de données DT_DBTIMESTAMPOFFSET et un objet UnsupportedBufferDataTypeException est généré. Vous devez convertir le type de données DT_DBTIMESTAMPOFFSET en un type de données date/heure Integration Services pouvant être mappé à un type de données managées. Pour obtenir la liste des types de données date/heure Integration Services pouvant être mappés à des types de données managées, consultez le tableau de la section précédente, « Mappage entre Integration Services et les types de données managées ». Pour plus d'informations sur la conversion des types de données, consultez Types de données d'Integration Services.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN :


Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.

Voir aussi

Référence

BufferTypeToDataRecordType

DataRecordTypeToBufferType

ConvertBufferDataTypeToFitManaged

Concepts

Types de données d'Integration Services