Types de données d'Integration Services
Lorsque des données entrent dans un flux de données dans un package, la source qui extrait les données les convertit en type Integration Services. Les données numériques se voient attribuer le type de données numeric, les données chaînes le type de données character et les dates le type de données date. Le type de données Integration Services approprié est également affecté aux autres données, comme les GUID et les BLOB (Binary Large Object Blocks). Si le type des données ne peut pas être converti en un type de données Integration Services, une erreur se produit.
Certains composants de flux de données convertissent les types de données entre les types de données Integration Services et les types de données managées de Microsoft .NET Framework. Pour plus d'informations sur le mappage entre Integration Services et les types de données managées, consultez Utilisation de types de données dans le flux de données.
Le tableau suivant énumère les types de données Integration Services. Des informations de précision et d'échelle s'appliquent à certains types de données du tableau. Pour plus d'informations sur la précision et l'échelle, consultez Précision, échelle et longueur (Transact-SQL).
Type de données |
Description |
---|---|
DT_BOOL |
Valeur booléenne. |
DT_BYTES |
Valeur de données binaires. La longueur est variable et ne peut pas dépasser 8 000 octets. |
DT_CY |
Valeur de devise. Ce type de données est un entier signé de 8 octets avec une échelle de 4 et une précision maximale de 19 chiffres. |
DT_DATE |
Structure de date comprenant l'année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. Les fractions de seconde ont une échelle fixe de 7 chiffres. Le type de données DT_DATE est implémenté à l'aide d'un nombre à virgule flottante à 8 octets. Les jours sont représentés par des incréments de nombres entiers, commençant le 30 décembre 1899, minuit correspondant à l'heure zéro. Les valeurs d'heure sont exprimées sous la forme de la valeur absolue de la partie fractionnaire du nombre. Cependant, une valeur à virgule flottante ne peut pas représenter toutes les valeurs réelles ; des restrictions sont par conséquent imposées quant à la plage des dates pouvant être représentées dans DT_DATE. D'autre part, DT_DBTIMESTAMP est représenté par une structure comportant en interne des champs individuels pour l'année, le mois, le jour, les heures, les minutes, les secondes et les millisecondes. Ce type de données a des limites plus étendues quant aux plages de dates qu'il peut représenter. |
DT_DBDATE |
Structure de date comprenant l'année, le mois et le jour. |
DT_DBTIME |
Structure d'heure comprenant les heures, les minutes et les secondes. |
DT_DBTIME2 |
Structure d'heure comprenant les heures, les minutes, les secondes et les fractions de seconde. Les fractions de seconde ont une échelle maximale de 7 chiffres. |
DT_DBTIMESTAMP |
Structure d'horodateur comprenant l'année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. Les fractions de seconde ont une échelle fixe de 3 chiffres. |
DT_DBTIMESTAMP2 |
Structure d'horodateur comprenant l'année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. Les fractions de seconde ont une échelle maximale de 7 chiffres. |
DT_DBTIMESTAMPOFFSET |
Structure d'horodateur comprenant l'année, le mois, le jour, les heures, les minutes, les secondes et les fractions de seconde. Les fractions de seconde ont une échelle maximale de 7 chiffres. Contrairement aux types de données DT_DBTIMESTAMP et DT_DBTIMESTAMP2, le type de données DT_DBTIMESTAMPOFFSET a un décalage de fuseau horaire. Ce décalage spécifie le nombre d'heures et de minutes de décalage de l'heure par rapport au temps universel coordonné (UTC). Le décalage de fuseau horaire est utilisé par le système pour obtenir l'heure locale. Le décalage de fuseau horaire doit inclure un signe (plus ou moins) pour indiquer si le décalage est ajouté au temps universel coordonné ou en est soustrait. Le nombre valide de décalage d'heures est compris entre -14 et +14. Le signe du décalage de minutes dépend du signe du décalage d'heures :
|
DT_DECIMAL |
Valeur numérique exacte avec une précision et une échelle fixes. Ce type de données est un entier non signé de 12 octets avec un signe séparé, une échelle comprise entre 0 et 28 et une précision maximale de 29. |
DT_FILETIME |
Valeur 64 bits représentant le nombre d'intervalles de 100 nanosecondes depuis le 1er janvier 1601. Les fractions de seconde ont une échelle maximale de 3 chiffres. |
DT_GUID |
Identificateur global unique (GUID). |
DT_I1 |
Entier signé de 1 octet. |
DT_I2 |
Entier signé de 2 octets. |
DT_I4 |
Entier signé de 4 octets. |
DT_I8 |
Entier signé de 8 octets. |
DT_NUMERIC |
Valeur numérique exacte avec une précision et une échelle fixes. Ce type de données est un entier non signé de 16 octets avec un signe séparé, une échelle comprise entre 0 et 38 et une précision maximale de 38. |
DT_R4 |
Valeur en virgule flottante simple précision. |
DT_R8 |
Valeur en virgule flottante double précision. |
DT_STR |
Chaîne de caractères ANSI/MBCS se terminant par une valeur Null, d'une longueur maximale de 8 000 caractères. (Si une valeur de colonne contient des indicateurs de fin Null, la chaîne apparaît tronquée dès la première valeur Null.) |
DT_UI1 |
Entier non signé de 1 octet. |
DT_UI2 |
Entier non signé de 2 octets. |
DT_UI4 |
Entier non signé de 4 octets. |
DT_UI8 |
Entier non signé de 8 octets. |
DT_WSTR |
Chaîne de caractères Unicode se terminant par une valeur Null avec une longueur maximale de 4 000 caractères. (Si une valeur de colonne contient des indicateurs de fin Null, la chaîne apparaît tronquée dès la première valeur Null.) |
DT_IMAGE |
Valeur binaire avec une taille maximale de 231-1 (2 147 483 647) octets. . |
DT_NTEXT |
Chaîne de caractères Unicode avec une longueur maximale de 230 - 1 (1 073 741 823) caractères. |
DT_TEXT |
Chaîne de caractères ANSI/MBCS d'une longueur maximale de 231 -1 (2 147 483 647) caractères. |
Conversion de types de données
Si les données d'une colonne n'ont pas besoin de toute la largeur qui leur est allouée par le type de données source, vous voudrez peut-être changer le type de données de la colonne. La réduction de la longueur de chaque ligne de données permet d'optimiser les performances lors du transfert de données car plus la ligne est courte, plus les données sont transférées rapidement de la source vers la destination.
Integration Services propose un jeu complet de types de données numeric afin que vous puissiez faire correspondre le type de données et la taille des données. Par exemple, si les valeurs d'une colonne dont le type de données est DT_UI8 sont toujours des entiers compris entre 0 et 3000, vous pouvez opter pour le type de données DT_UI2. De même, si une colonne dont le type de données est DT_CY pourrait se satisfaire d'un type de données integer aux vues des données du package, vous pouvez opter pour le type de données DT_I4.
Vous pouvez modifier les types de données d'une colonne de l'une des manières suivantes :
Utilisez une expression pour convertir des types de données de façon implicite. Pour plus d'informations, consultez Conversion implicite des types de données dans les expressions, Types de données Integration Services dans les expressions et Utilisation d'expressions dans des packages.
Utilisez l'opérateur de conversion pour convertir des types de données. Pour plus d'informations, consultez Cast (Expression SSIS) : conversion de types de données SSIS.
Utilisez la transformation de conversion de données pour convertir le type de données d'une colonne en un type différent. Pour plus d'informations, consultez Transformation de conversion de données.
Utilisez la transformation de colonne dérivée pour créer une copie d'une colonne ayant un type de données différent de celui de la colonne d'origine. Pour plus d'informations, consultez Transformation de colonne dérivée.
Conversion entre les chaînes et les types de données de date et d'heure
Le tableau suivant répertorie les résultats de la conversion entre des chaînes et des types de données de date et d'heure :
Lorsque vous utilisez l'opérateur de conversion ou la transformation de conversion des données, le type de données de date ou d'heure est converti au format chaîne correspondant. Par exemple, le type de données DT_DBTIME sera converti en une chaîne au format "hh:mm:ss".
Lorsque vous souhaitez convertir à partir d'une chaîne vers un type de données de date ou d'heure, la chaîne doit utiliser le format de chaîne qui correspond au type de données de date ou d'heure approprié. Par exemple, pour convertir correctement certaines chaînes de date en type de données DT_DBDATE, ces chaînes de date doivent être au format, "yyyy-mm-dd".
Type de données
Format chaîne
DT_DBDATE
aaaa-mm-jj
DT_FILETIME
aaaa-mm-jj hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIME2
hh:mm:ss[.fffffff]
DT_DBTIMESTAMP
aaaa-mm-jj hh:mm:ss[.fff]
DT_DBTIMESTAMP2
aaaa-mm-jj hh:mm:ss[.fffffff]
DT_DBTIMESTAMPOFFSET
aaaa-mm-jj hh:mm:ss[.fffffff] [{+|-} hh:mm]
Dans le format de DT_FILETIME et DT_DBTIMESTAMP, « fff » est une valeur comprise entre 0 et 999 représentant les fractions de seconde.
Dans le format de date de DT_DBTIMESTAMP2, DT_DBTIME2 et DT_DBTIMESTAMPOFFSET, « fffffff » est une valeur comprise entre 0 et 9 999 999 représentant les fractions de seconde.
Le format de date de DT_DBTIMESTAMPOFFSET inclut également un élément de fuseau horaire. Un espace est présent entre l'élément d'heure et l'élément de fuseau horaire.
Conversion des types de données de date/heure
Vous pouvez changer le type de données d'une colonne contenant des données de date/heure afin d'extraire la partie date ou heure des données. Les tableaux suivants répertorient les résultats du changement d'un type de données de date/heure en un autre type de données de date/heure.
Conversion à partir de DT_FILETIME
Conversion de DT_FILETIME en |
Résultat |
---|---|
DT_FILETIME |
Aucun changement. |
DT_DATE |
Convertit le type de données. |
DT_DBDATE |
Supprime la valeur d'heure. |
DT_DBTIME |
Supprime la valeur de date. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres fractionnaires que le type de données DT_DBTIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIME2 |
Supprime la valeur de date représentée par le type de données DT_FILETIME. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP |
Convertit le type de données. |
DT_DBTIMESTAMP2 |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMPOFFSET |
Définit zéro pour le champ de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMPOFFSET peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
Conversion à partir de DT_DATE
Conversion de DT_DATE en |
Résultat |
---|---|
DT_FILETIME |
Convertit le type de données. |
DT_DATE |
Aucun changement. |
DT_DBDATE |
Supprime la valeur d'heure représentée par le type de données DT_DATA. |
DT_DBTIME |
Supprime la valeur de date représentée par le type de données DT_DATE. |
DT_DBTIME2 |
Supprime la valeur de date représentée par le type de données DT_DATE. |
DT_DBTIMESTAMP |
Convertit le type de données. |
DT_DBTIMESTAMP2 |
Convertit le type de données. |
DT_DBTIMESTAMPOFFSET |
Définit zéro pour le champ de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. |
Conversion à partir de DT_DBDATE
Conversion de DT_DBDATE en |
Résultat |
---|---|
DT_FILETIME |
Définit zéro pour les champs d'heure dans le type de données DT_FILETIME. |
DT_DATE |
Définit zéro pour les champs d'heure dans le type de données DT_DATE. |
DT_DBDATE |
Aucun changement. |
DT_DBTIME |
Définit zéro pour les champs d'heure dans le type de données DT_DBTIME. |
DT_DBTIME2 |
Définit zéro pour les champs d'heure dans le type de données DT_DBTIME2. |
DT_DBTIMESTAMP |
Définit zéro pour les champs d'heure dans le type de données DT_DBTIMESTAMP. |
DT_DBTIMESTAMP2 |
Définit zéro pour les champs d'heure dans le type de données DT_DBTIMESTAMP. |
DT_DBTIMESTAMPOFFSET |
Définit zéro pour les champs d'heure et de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. |
Conversion à partir de DT_DBTIME
Conversion de DT_DBTIME en |
Résultat |
---|---|
DT_FILETIME |
Définit la date actuelle pour le champ de date dans le type de données DT_FILETIME. |
DT_DATE |
Définit la date actuelle pour le champ de date dans le type de données DT_DATE. |
DT_DBDATE |
Définit la date actuelle pour le champ de date dans le type de données DT_DBDATE. |
DT_DBTIME |
Aucun changement. |
DT_DBTIME2 |
Convertit le type de données. |
DT_DBTIMESTAMP |
Définit la date actuelle pour le champ de date dans le type de données DT_DBTIMESTAMP. |
DT_DBTIMESTAMP2 |
Définit la date actuelle pour le champ de date dans le type de données DT_DBTIMESTAMP2. |
DT_DBTIMESTAMPOFFSET |
Définit respectivement la date actuelle et zéro pour les champs de date et de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. |
Conversion à partir de DT_DBTIME2
Conversion de DT_DBTIME2 en |
Résultat |
---|---|
DT_FILETIME |
Définit la date actuelle pour le champ de date dans le type de données DT_FILETIME. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_FILETIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DATE |
Définit la date actuelle pour le champ de date du type de données DT_DATE. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DATE peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBDATE |
Définit la date actuelle pour le champ de date du type de données DT_DBDATE. |
DT_DBTIME |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIME2 |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME2 de destination peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP |
Définit la date actuelle pour le champ de date dans le type de données DT_DBTIMESTAMP. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP2 |
Définit la date actuelle pour le champ de date dans le type de données DT_DBTIMESTAMP2. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMPOFFSET |
Définit respectivement la date actuelle et zéro pour les champs de date et de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMPOFFSET peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
Conversion à partir de DT_DBTIMESTAMP
Conversion de DT_DBTIMESTAMP en |
Résultat |
---|---|
DT_FILETIME |
Convertit le type de données. |
DT_DATE |
Si une valeur représentée par le type de données DT_DBTIMESTAMP dépasse la plage du type de données DT_DATE, l'erreur DB_E_DATAOVERFLOW est retournée. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBDATE |
Supprime la valeur d'heure représentée par le type de données DT_DBTIMESTAMP. |
DT_DBTIME |
Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMP. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIME2 |
Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMP. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP |
Aucun changement. |
DT_DBTIMESTAMP2 |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMPOFFSET |
Définit zéro pour le champ de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMPOFFSET peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
Conversion à partir de DT_DBTIMESTAMP2
Conversion de DT_DBTIMESTAMP2 en |
Résultat |
---|---|
DT_FILETIME |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_FILETIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DATE |
Si une valeur représentée par le type de données DT_DBTIMESTAMP2 dépasse la plage du type de données DT_DATE, l'erreur DB_E_DATAOVERFLOW est retournée. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DATE peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBDATE |
Supprime la valeur d'heure représentée par le type de données DT_DBTIMESTAMP2. |
DT_DBTIME |
Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMP2. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIME2 |
Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMP2. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP |
Si une valeur représentée par le type de données DT_DBTIMESTAMP2 dépasse la plage du type de données DT_DBTIMESTAMP, l'erreur DB_E_DATAOVERFLOW est retournée. DT_DBTIMESTAMP2 est mappé en type de données datetime2 SQL Server avec une plage comprise entre le 1er janvier de l'an 1 et le 31 décembre 9999. DT_DBTIMESTAMP est mappé en type de données datetime SQL Server, avec une plage plus restreinte comprise entre le 1er janvier 1753 et le 31 décembre 9999. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations sur les erreurs, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP2 |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP2 de destination peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMPOFFSET |
Définit zéro pour le champ de fuseau horaire dans le type de données DT_DBTIMESTAMPOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMPOFFSET peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
Conversion à partir de DT_DBTIMESTAMPOFFSET
Conversion de DT_DBTIMESTAMPOFFSET en |
Résultat |
---|---|
DT_FILETIME |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_FILETIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DATE |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Si une valeur représentée par le type de données DT_DBTIMESTAMPOFFSET dépasse la plage du type de données DT_DATE, l'erreur DB_E_DATAOVERFLOW est retournée. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DATE peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBDATE |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC), qui peut affecter la valeur de date. La valeur d'heure est ensuite supprimée. |
DT_DBTIME |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMPEOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIME2 |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Supprime la valeur de date représentée par le type de données DT_DBTIMESTAMPOFFSET. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIME2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Si une valeur représentée par le type de données DT_DBTIMESTAMPOFFSET dépasse la plage du type de données DT_DBTIMESTAMP, l'erreur DB_E_DATAOVERFLOW est retournée. Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMP2 |
Change la valeur d'heure représentée par le type de données DT_DBTIMESTAMPOFFSET en temps universel coordonné (UTC). Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMP2 peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
DT_DBTIMESTAMPOFFSET |
Supprime la valeur de fraction de seconde lorsque son échelle est supérieure au nombre de chiffres de fraction de seconde que le type de données DT_DBTIMESTAMPOFFSET de destination peut contenir. Après la suppression de la valeur de fraction de seconde, un rapport est généré sur cette troncation de données. Pour plus d'informations, consultez Gestion des erreurs dans le flux de données. |
Mappage des types de données Integration Services avec les types de données de base de données
Le tableau ci-dessous fournit des directives pour le mappage des types de données employés par certaines bases de données avec des types de données Integration Services. Ces mappages sont résumés à partir des fichiers de mappage qu'utilise l'Assistant Importation et Exportation SQL Server lorsqu'il importe des données depuis ces sources. 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.
Important
Ces mappages n'ont pas pour but de proposer une équivalence stricte. Ils sont fournis uniquement à titre d'indication. Dans certaines situations, vous devrez peut-être utiliser un type de données différent de celui utilisé dans ce tableau.
Type de données |
SQL Server (SQLOLEDB; SQLNCLI10) |
SQL Server (SqlClient) |
Jet |
Oracle (OracleClient) |
DB2 (DB2OLEDB) |
DB2 (IBMDADB2) |
---|---|---|---|---|---|---|
DT_BOOL |
bit |
bit |
Bit |
|||
DT_BYTES |
binary, varbinary, timestamp |
binary, varbinary, timestamp |
BigBinary, VarBinary |
RAW |
||
DT_CY |
smallmoney, money |
smallmoney, money |
Devise |
|||
DT_DATE |
||||||
DT_DBDATE |
date |
date |
date |
date |
date |
|
DT_DBTIME |
timestamp |
time |
time |
|||
DT_DBTIME2 |
time(p) |
time(p) |
||||
DT_DBTIMESTAMP |
datetime, smalldatetime |
datetime, smalldatetime |
DateTime |
TIMESTAMP, DATE, INTERVAL |
TIME, TIMESTAMP, DATE |
TIME, TIMESTAMP, DATE |
DT_DBTIMESTAMP2 |
datetime2 |
datetime2 |
timestamp |
timestamp |
timestamp |
|
DT_DBTIMESTAMPOFFSET |
datetimeoffset(p) |
datetimeoffset(p) |
timestampoffset |
timestamp, varchar |
timestamp, varchar |
|
DT_DECIMAL |
||||||
DT_FILETIME |
||||||
DT_GUID |
uniqueidentifier |
uniqueidentifier |
GUID |
|||
DT_I1 |
||||||
DT_I2 |
smallint |
smallint |
Short |
SMALLINT |
SMALLINT |
|
DT_I4 |
int |
int |
Long |
INTEGER |
INTEGER |
|
DT_I8 |
bigint |
bigint |
BIGINT |
BIGINT |
||
DT_NUMERIC |
decimal, numeric |
decimal, numeric |
Decimal |
NUMBER, INT |
DECIMAL, NUMERIC |
DECIMAL, NUMERIC |
DT_R4 |
real |
real |
Single |
REAL |
REAL |
|
DT_R8 |
float |
float |
Double |
FLOAT, REAL |
FLOAT, DOUBLE |
FLOAT, DOUBLE |
DT_STR |
char, varchar |
VarChar |
CHAR, VARCHAR |
CHAR, VARCHAR |
||
DT_UI1 |
tinyint |
tinyint |
Byte |
|||
DT_UI2 |
||||||
DT_UI4 |
||||||
DT_UI8 |
||||||
DT_WSTR |
nchar, nvarchar, sql_variant, xml |
char, varchar, nchar, nvarchar, sql_variant, xml |
LongText |
CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR |
GRAPHIC, VARGRAPHIC |
GRAPHIC, VARGRAPHIC |
DT_IMAGE |
image |
image |
LongBinary |
LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, défini par l'utilisateur |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA, BLOB |
DT_NTEXT |
ntext |
text, ntext |
LONG, CLOB, NCLOB, NVARCHAR, TEXT |
LONG VARCHAR, NCHAR, NVARCHAR, TEXT |
LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT |
|
DT_TEXT |
text |
LONG VARCHAR FOR BIT DATA |
LONG VARCHAR FOR BIT DATA, CLOB |
Pour plus d'informations sur le mappage des types de données dans le flux de données, consultez Utilisation de types de données dans le flux de données.
Ressources externes
Entrée de blog intitulée Performance Comparison between Data Type Conversion Techniques in SSIS 2008 sur le site blogs.msdn.com.
|