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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour