Partager via


Mappage de type de données SQL Server Native Client dans ITableDefinition

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Lors de la création de tables à l’aide de la fonction ITableDefinition ::CreateTable , le consommateur du fournisseur OLE DB SQL Server Native Client peut spécifier des types de données SQL Server dans le membre pwszTypeName du tableau DBCOLUMNDESC passé. Si le consommateur spécifie le type de données d’une colonne par nom, le mappage des types de données OLE DB, représenté par le membre wType de la structure DBCOLUMNDESC, est ignoré.

Lors de la spécification de nouveaux types de données de colonne avec des types de données OLE DB à l’aide du membre wType de structure DBCOLUMNDESC, le fournisseur OLE DB SQL Server Native Client mappe les types de données OLE DB comme suit.

Type de données OLE DB SQL Server

type de données
Informations supplémentaires
DBTYPE_BOOL bit
DBTYPE_BYTES binary, varbinary, image ou varbinary(max) Le fournisseur OLE DB SQL Server Native Client inspecte le membre ulColumnSize de la structure DBCOLUMNDESC. En fonction de la valeur et de la version de l’instance SQL Server, le fournisseur OLE DB SQL Server Native Client mappe le type à l’image.

Si la valeur d’ulColumnSize est inférieure à la longueur maximale d’une colonne de type de données binaire, le fournisseur OLE DB SQL Server Native Client inspecte le membre DBCOLUMNDESC rgPropertySets. Si DBPROP_COL_FIXEDLENGTH est VARIANT_TRUE, le fournisseur OLE DB SQL Server Native Client mappe le type au type binaire. Si la valeur de la propriété est VARIANT_FALSE, le fournisseur OLE DB SQL Server Native Client mappe le type à varbinary. Dans les deux cas, le membre ulColumnSize de DBCOLUMNDESC détermine la largeur de la colonne SQL Server créée.
DBTYPE_CY money
DBTYPE_DBTIMESTAMP datetime
DBTYPE_GUID uniqueidentifier
DBTYPE_I2 smallint
DBTYPE_I4 int
DBTYPE_NUMERIC numeric Le fournisseur OLE DB SQL Server Native Client inspecte les membres bPrecision et bScale DBCOLUMDESC pour déterminer la précision et l’échelle de la colonne numérique.
DBTYPE_R4 real
DBTYPE_R8 float
DBTYPE_STR char, varchar, text ou varchar(max) Le fournisseur OLE DB SQL Server Native Client inspecte le membre ulColumnSize de la structure DBCOLUMNDESC. En fonction de la valeur et de la version de l’instance SQL Server, le fournisseur OLE DB SQL Server Native Client mappe le type au texte.

Si la valeur d’ulColumnSize est inférieure à la longueur maximale d’une colonne de type de données caractères multioctets, le fournisseur OLE DB SQL Server Native Client inspecte le membre DBCOLUMNDESC rgPropertySets. Si DBPROP_COL_FIXEDLENGTH est VARIANT_TRUE, le fournisseur OLE DB SQL Server Native Client mappe le type en caractères. Si la valeur de la propriété est VARIANT_FALSE, le fournisseur OLE DB SQL Server Native Client mappe le type à varchar. Dans les deux cas, le membre ulColumnSize de DBCOLUMNDESC détermine la largeur de la colonne SQL Server créée.
DBTYPE_UDT UDT Les informations suivantes sont utilisées dans les structures DBCOLUMNDESC par ITableDefinition::CreateTable quand des colonnes UDT sont nécessaires :

pwSzTypeName est ignoré.

rgPropertySets doit inclure une propriété DBPROPSET_SQLSERVERCOLUMN définie comme décrit dans la section sur DBPROPSET_SQLSERVERCOLUMN, dans Utilisation de types définis par l’utilisateur.
DBTYPE_UI1 tinyint
DBTYPE_WSTR nchar, nvarchar, ntext ou nvarchar(max) Le fournisseur OLE DB SQL Server Native Client inspecte le membre ulColumnSize de la structure DBCOLUMNDESC. En fonction de la valeur, le fournisseur OLE DB SQL Server Native Client mappe le type à ntext.

Si la valeur d’ulColumnSize est inférieure à la longueur maximale d’une colonne de type de données caractère Unicode, le fournisseur OLE DB SQL Server Native Client inspecte le membre DBCOLUMNDESC rgPropertySets. Si DBPROP_COL_FIXEDLENGTH est VARIANT_TRUE, le fournisseur OLE DB SQL Server Native Client mappe le type à nchar. Si la valeur de la propriété est VARIANT_FALSE, le fournisseur OLE DB SQL Server Native Client mappe le type à nvarchar. Dans les deux cas, le membre ulColumnSize de DBCOLUMNDESC détermine la largeur de la colonne SQL Server créée.
DBTYPE_XML XML

Remarque

Lors de la création d’une table, le fournisseur OLE DB SQL Server Native Client mappe uniquement les valeurs d’énumération de type de données OLE DB spécifiées dans le tableau précédent. Toute tentative de création d'une table avec une colonne de tout autre type de données OLE DB génère une erreur.

Voir aussi

Types de données (OLE DB)