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 |
---|---|---|
Aucune méthode Get n'est applicable à ce type de données. |
||
Types de données à utiliser avec les méthodes Set
Méthode Set |
Type de données |
---|---|
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 ServerIntegration 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\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 Importation et exportation de données à l'aide de l'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.
Attention |
---|
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é |
---|---|
System.String |
|
Tableau de System.Byte |
|
System.DateTime |
|
System.DateTime |
|
System.DateTimeOffset |
|
System.DateTime |
|
System.TimeSpan |
|
System.TimeSpan |
|
System.DateTime |
|
System.DateTime |
|
System.Decimal |
|
System.Guid |
|
System.SByte |
|
System.Int16 |
|
System.Int32 |
|
System.Int64 |
|
System.Boolean |
|
System.Single |
|
System.Double |
|
System.Byte |
|
System.UInt16 |
|
System.UInt32 |
|
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.
Attention |
---|
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é |
---|---|
[!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.
|
Voir aussi