Fournisseurs de données pour DB2
Compatibilité de la plateforme
Conversions de pages de code
Le fournisseur de données prend en charge une combinaison de jeux de caractères codés sur un octet (SBCS), de jeux de caractères de largeur mixte (MBCS), de jeux de caractères codés sur deux octets (DBCS) et de jeux de caractères Unicode - UTF8 [1208], qui est un format de transformation Unicode de 8 bits.
CCSID de l'hôte
Le fournisseur de données requiert une valeur pour le CCSID (Coded Character Set Identifier) de l'hôte avec lequel exécuter des conversions de page de codes sur des données de chaîne. La valeur CCSID de l'hôte par défaut est EBCDIC – U.S./Canada [37]. En règle générale, les serveurs de base de données IBM DB2 pour z/OS et IBM i utilisent EBCDIC (Extended Binary Coded Decimal Interchange Code).
Page de codes PC
Le fournisseur de données requiert une valeur pour la page de codes PC avec laquelle exécuter des conversions de page de codes sur des données de chaîne. La page de codes PC par défaut est ANSI – Latin I [1252]. Généralement, les consommateurs de données utilisent soit ANSI (American National Standards Institute), soit Unicode.
Traiter le binaire comme caractère
Les fournisseurs de données pour DB2 convertissent automatiquement (en entrée et en sortie) les données de type binaire (CCSID 65535) et chaîne de caractères, en fonction du type de données DB2 et du type de données du consommateur Windows. L’encodage DB2 est déterminé par le CCSID hôte. L’encodage Windows est déterminé par la page de codes PC.
Mappage de type de données
Cette rubrique décrit les mappages de tous les types de données aux types de données OLE DB.
Mappage des types de données DB2 à ADO.NET
Le tableau suivant décrit les mappages des types de données DB2 au fournisseur ADO.NET pour DB2 (MsDb2Client) (MsDb2Type).
MsDb2Type | Type de données DB2 | Description |
---|---|---|
BigInt | Bigint | Un grand entier est un entier binaire codé sur 8 octets. |
Binary | Binary | Une donnée binaire est une chaîne binaire de longueur fixe. |
bit | Smallint | Un petit entier est un entier binaire codé sur deux octets. |
BLOB | BLOB | Un objet blob (Binary Large Object) est une chaîne de longueur variable servant à stocker des données binaires ou non textuelles. |
Char | Char | Il s'agit d'une chaîne SBCS ou MBCS de longueur fixe. |
CLOB | CLOB | Un objet CLOB (Character Large Object) de longueur variable est une chaîne de longueur variable. La longueur maximale de la chaîne dépend de la plateforme et de la version DB2. |
Date | Date | Il s'agit d'une chaîne codée sur 10 octets. |
DBCLOB | DCLOB | Un objet CLOB (Character Large Object) de longueur variable codé sur deux octets est une chaîne graphique de longueur variable codée sur deux octets uniquement. La longueur maximale de la chaîne dépend de la plateforme et de la version DB2. |
Decimal | Decimal | Une donnée décimale est un nombre décimal compressé. |
Double | Double | Une donnée double est un nombre à virgule flottante double précision codé sur 8 octets. |
Graphic | Graphic | Il s'agit d'une chaîne DBCS unique de longueur fixe. |
Int | Integer | Il s'agit d'un entier binaire codé sur 4 octets. |
Numérique | Numérique | Il s'agit d'un nombre décimal compressé. |
Real | Real | Il s'agit d'un nombre à virgule flottante simple précision codé sur 4 octets. |
SmallInt | Smallint | Un petit entier est un entier binaire codé sur deux octets. |
Temps | Temps | Il s'agit d'une chaîne de temps codée sur 8 octets. |
Timestamp | Timestamp | Il s'agit d'une chaîne codée sur 26 octets représentant la date, l'heure et les microsecondes. |
TinyInt | Smallint | Un petit entier est un entier binaire codé sur deux octets. |
VarBinary | Varbinary | Une donnée binaire variable est une chaîne binaire de longueur variable. |
VarChar | Varchar | Il s'agit d'une chaîne de caractères SBCS ou MBCS de longueur variable. |
VarGraphic | Vargraphic | Un graphique variable est une chaîne DBCS unique de longueur variable. |
VarWideChar | Vargraphic | Une donnée graphique variable est une chaîne Unicode uniquement de longueur variable. |
VarWideGraphic | Vargraphic | Une donnée graphique variable est une chaîne Unicode uniquement de longueur variable. |
WideChar | Graphic | Une donnée graphique est une chaîne Unicode de longueur fixe. |
Xml | XML | Chaîne d’un document XML bien formé. |
Mappage des types de données DB2 aux types de données OLE DB
Le tableau suivant décrit les mappages des types de données DB2 aux types de données OLE DB.
Type de données OLE DB | Type de données DB2 | Description |
---|---|---|
DBTYPE_I8 | Bigint | Un grand entier est un entier binaire codé sur 8 octets. |
DBTYPE_Bytes | BINARY | Une donnée binaire est une chaîne binaire de longueur fixe |
DBTYPE_Bytes | BLOB | Un objet blob (Binary Large Object) est une chaîne de longueur variable servant à stocker des données binaires ou non textuelles. |
DBTYPE_STR | Char | Il s'agit d'une chaîne SBCS ou MBCS de longueur fixe. |
DBTYPE_WSTR | Char | Un caractère Unicode est une chaîne MBCS de longueur fixe. |
DBTYPE_STR | CLOB | Un objet CLOB (Character Large Object) de longueur variable est une chaîne de longueur variable. La longueur maximale de la chaîne dépend de la plateforme et de la version DB2. |
DBTYPE_DBDate | Date | Il s'agit d'une chaîne codée sur 10 octets. |
DBTYPE_Decimal | Decimal | Une donnée décimale est un nombre décimal compressé. |
DBTYPE_R8 | Double | Une donnée double est un nombre à virgule flottante double précision codé sur 8 octets. |
DBTYPE_R8 | Float | Il s'agit d'un nombre à virgule flottante double précision codé sur 8 octets. |
DBTYPE_WSTR | Graphic | Il s'agit d'une chaîne DBCS unique de longueur fixe. |
DBTYPE_I4 | Integer | Il s'agit d'un entier binaire codé sur 4 octets. |
DBTYPE_STR | Long Varchar | Il s'agit d'une chaîne de caractères SBCS ou MBCS de longueur variable. |
DBTYPE_WSTR | Long Varchar | Chaîne Unicode de longueur variable. |
DBTYPE_WSTR | Long Vargraphic | Un graphique variable est une chaîne DBCS unique de longueur variable. |
DBTYPE_Numeric | Numérique | Il s'agit d'un nombre décimal compressé. |
DBTYPE_I2 | Smallint | Un petit entier est un entier binaire codé sur deux octets. |
DBTYPE_R4 | Real | Il s'agit d'un nombre à virgule flottante simple précision codé sur 4 octets. |
DBTYPE_DBTime | Temps | Il s'agit d'une chaîne de temps codée sur 8 octets. |
DBTYPE_DBTimestamp | Timestamp | Il s'agit d'une chaîne codée sur 26 octets représentant la date, l'heure et les microsecondes. |
DBTYPE_Bytes | Varbinary | Une donnée binaire variable est une chaîne binaire de longueur variable. |
DBTYPE_STR | Varchar | Il s'agit d'une chaîne de caractères SBCS ou MBCS de longueur variable. |
DBTYPE_WSTR | Varchar | Chaîne Unicode de longueur variable. |
DBTYPE_WSTR | VarGraphic | Un graphique variable est une chaîne DBCS unique de longueur variable. |
Les informations sur le schéma contenues dans OLE DB sont extraites à l'aide d'ensembles de lignes de schéma prédéfinis avec IDBSchemaRowset::GetRowset. Le fournisseur de données a exposé l'ensemble de lignes PROVIDER_TYPES pour indiquer la prise en charge du type de données DB2 à OLE DB (types, mappages et limites), d'après la plateforme et la version IBM DB2.
DB2 pour z/OS
Le fournisseur de données prend en charge l’accès à ces types de données lorsqu’il est connecté à DB2 pour z/OS.
Type_name DB2 | data_type OLE DB | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
Binary | DBType_Bytes | 255 | ||
Real | DBType_R4 | 21 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
Decimal | DBType_Decimal | 31 | 0 | 31 |
Graphic | DBType_WSTR | 127 | ||
VarGraphic | DBType_WSTR | 16352 | ||
Char | DBType_STR | 255 | ||
Varchar | DBType_STR | 32672 | ||
Char | DBType_WSTR | 255 | ||
Varchar | DBType_WSTR | 32672 | ||
Numérique | DBType_Numeric | 31 | 0 | 31 |
Date | DBType_DBDate | 10 | ||
Temps | DBType_DBTime | 8 | ||
Timestamp | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Long Varchar | DBType_STR | 32704 | ||
Long Varchar | DBType_WSTR | 32704 | ||
Long Vargraphic | DBType_WSTR | 16352 | ||
Varbinary | DBTypte_Bytes | 32704 |
DB2 pour IBM i
Le fournisseur de données prend en charge l’accès à ces types de données lorsqu’il est connecté à DB2 pour IBM i.
Type_name DB2 | data_type OLE DB | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
Binary | DBType_Bytes | 32765 | ||
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
Real | DBType_R4 | 24 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
Decimal | DBType_Decimal | 63 | 0 | 31 |
Graphic | DBType_WSTR | 16382 | ||
VarGraphic | DBType_WSTR | 16369 | ||
Char | DBType_STR | 32765 | ||
Varchar | DBType_STR | 32739 | ||
Char | DBType_WSTR | 32765 | ||
Varchar | DBType_WSTR | 32739 | ||
Numérique | DBType_Numeric | 31 | 0 | 31 |
Date | DBType_DBDate | 10 | ||
Temps | DBType_DBTime | 8 | ||
Timestamp | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Varbinary | DBType_Bytes | 32739 |
DB2 pour LUW
Le fournisseur de données prend en charge l’accès à ces types de données lorsqu’il est connecté à DB2 pour LUW.
Type_name DB2 | data_type OLE DB | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
Binary | DBType_Bytes | 254 | ||
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
Real | DBType_R4 | 24 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
Decimal | DBType_Decimal | 31 | 0 | 31 |
Graphic | DBType_WSTR | 127 | ||
VarGraphic | DBType_WSTR | 16336 | ||
Char | DBType_STR | 254 | ||
Varchar | DBType_STR | 4000 | ||
Char | DBType_WSTR | 254 | ||
Varchar | DBType_WSTR | 4000 | ||
Char() for BIT data | DBType_Bytes | 254 | ||
Varchar() for BIT data | DBType_Bytes | 32672 | ||
Numérique | DBType_Numeric | 31 | 0 | 31 |
Date | DBType_DBDate | 10 | ||
Temps | DBType_DBTime | 8 | ||
Timestamp | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Long Varchar | DBType_STR | 32700 | ||
Long Varchar | DBType_STR | 32700 | ||
Long Varchar | DBType_WSTR | 16350 | ||
Varbinary | DBTYPE_BYTES | 32762 |
SQL Server Integration Services
Lorsque vous utilisez l'Assistant Importation et Exportation SQL Server Integration Services depuis Microsoft SQL Server Management Studio, vous pouvez personnaliser les conversions de données par défaut en modifiant les fichiers de mappage XML. Les fichiers XML se trouvent dans C :\Program Files\Microsoft SQL Server\130\DTSMappingFiles pour 64 bits et C :\Program Files (x86)\Microsoft SQL Server\130\DTSMappingFiles pour 32 bits.
SQL Server Replication Services
La réplication SQL Server peut convertir des données de manière incorrecte, sur la base des mappages par défaut de SQL Server aux types de données DB2. Il est recommandé que l'administrateur et le développeur examinent et révisent les mappages des types de données de réplication à l'aide des procédures stockées système de SQL Server.
·sp_helpdatatypemap
·sp_getdefaultdatatypemapping
·sp_setdefaultdatatypemapping
Pour plus d’informations, consultez Procédures stockées système (Transact-SQL).