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

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

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é.

Notes

Les fichiers de mappage au format XML installés par défaut dans C:\Program Files\Microsoft SQL Server\100\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 2000 à SQL Server ou 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 Utilisation de l'Assistant Importation et exportation SQL Server pour déplacer des données.

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.

Notes

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 ou TechNet :

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