SQL Server Native Client сопоставления типов данных в ITableDefinitionSQL Server Native Client Data Type Mapping in ITableDefinition

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data WarehouseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data Warehouse

При создании таблиц с помощью функции ITableDefinition:: CreateTable SQL ServerSQL Server потребитель поставщика OLE DB собственного клиента может указывать SQL ServerSQL Server типы данных в pwszTypeName члене передаваемого массива DBCOLUMNDESC.When creating tables by using the ITableDefinition::CreateTable function, the SQL ServerSQL Server Native Client OLE DB provider consumer can specify SQL ServerSQL Server data types in the pwszTypeName member of the DBCOLUMNDESC array that is passed. Если потребитель указывает тип данных столбца по имени, то сопоставление типов OLE DB, представляемое элементом wType структуры DBCOLUMNDESC, не учитывается.If the consumer specifies the data type of a column by name, OLE DB data type mapping, represented by the wType member of the DBCOLUMNDESC structure, is ignored.

При указании новых типов данных столбцов с OLE DB типами данных с помощью элемента wType Structure, SQL ServerSQL Server поставщик собственного клиента OLE DB сопоставляет OLE DB типы данных следующим образом.When specifying new column data types with OLE DB data types using the DBCOLUMNDESC structure wType member, the SQL ServerSQL Server Native Client OLE DB provider maps OLE DB data types as follows.

Тип данных OLE DBOLE DB data type SQL ServerSQL Server

тип данныхdata type
Дополнительные сведенияAdditional information
DBTYPE_BOOLDBTYPE_BOOL bitbit
DBTYPE_BYTESDBTYPE_BYTES binary, varbinary, image или varbinary(max)binary, varbinary, image, or varbinary(max) SQL ServerSQL ServerПоставщик OLE DB собственного клиента проверяет элемент ULCOLUMNSIZE структуры DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. Основываясь на значении и версии SQL ServerSQL Server экземпляра, SQL ServerSQL Server поставщик OLE DB собственного клиента сопоставляет тип с изображением.Based on the value, and version of the SQL ServerSQL Server instance, the SQL ServerSQL Server Native Client OLE DB provider maps the type to image.

Если значение ulColumnSize меньше, чем максимальная длина столбца типа данных binary , то SQL ServerSQL Server поставщик собственного клиента OLE DB проверяет элемент DBCOLUMNDESC rgPropertySets .If the value of ulColumnSize is smaller than the maximum length of a binary data type column, then the SQL ServerSQL Server Native Client OLE DB provider inspects the DBCOLUMNDESC rgPropertySets member. Если DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, то SQL ServerSQL Server поставщик OLE DB Native Client сопоставляет тип с двоичным.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to binary. Если значение свойства равно VARIANT_FALSE, SQL ServerSQL Server поставщик OLE DB Native Client сопоставляет тип с типом varbinary.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to varbinary. В любом случае элемент ulColumnSize структуры DBCOLUMNDESC определяет ширину создаваемого столбца SQL Server.In either case, the DBCOLUMNDESC ulColumnSize member determines the width of the SQL Server column created.
DBTYPE_CYDBTYPE_CY moneymoney
DBTYPE_DBTIMESTAMPDBTYPE_DBTIMESTAMP datetimedatetime
DBTYPE_GUIDDBTYPE_GUID uniqueidentifieruniqueidentifier
DBTYPE_I2DBTYPE_I2 smallintsmallint
DBTYPE_I4DBTYPE_I4 intint
DBTYPE_NUMERICDBTYPE_NUMERIC numericnumeric SQL ServerSQL ServerПоставщик собственного клиента OLE DB проверяет элементы Дбколумдеск БпреЦисион и bScale , чтобы определить точность и масштаб для числового столбца.The SQL ServerSQL Server Native Client OLE DB provider inspects the DBCOLUMDESC bPrecision and bScale members to determine precision and scale for the numeric column.
DBTYPE_R4DBTYPE_R4 realreal
DBTYPE_R8DBTYPE_R8 floatfloat
DBTYPE_STRDBTYPE_STR char, varchar, text или varchar(max)char, varchar, text, or varchar(max) SQL ServerSQL ServerПоставщик OLE DB собственного клиента проверяет элемент ULCOLUMNSIZE структуры DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. Основываясь на значении и версии SQL ServerSQL Server экземпляра, SQL ServerSQL Server поставщик OLE DB собственного клиента сопоставляет тип с текстом.Based on the value and version of the SQL ServerSQL Server instance, the SQL ServerSQL Server Native Client OLE DB provider maps the type to text.

Если значение ulColumnSize меньше, чем максимальная длина столбца типа данных с многобайтовой кодировкой, то SQL ServerSQL Server поставщик OLE DB для собственного клиента проверяет элемент DBCOLUMNDESC rgPropertySets .If the value of ulColumnSize is smaller than the maximum length of a multibyte character data type column, then the SQL ServerSQL Server Native Client OLE DB provider inspects the DBCOLUMNDESC rgPropertySets member. Если DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, то SQL ServerSQL Server поставщик OLE DB собственного клиента сопоставляет тип с типом char.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to char. Если значение свойства равно VARIANT_FALSE, SQL ServerSQL Server поставщик OLE DB Native Client сопоставляет тип с типом varchar.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to varchar. В любом случае элемент ulColumnSize структуры DBCOLUMNDESC определяет ширину создаваемого столбца SQL ServerSQL Server.In either case, the DBCOLUMNDESC ulColumnSize member determines the width of the SQL ServerSQL Server column created.
DBTYPE_UDTDBTYPE_UDT UDTUDT Следующие сведения используются в структурах DBCOLUMNDESC, применяемых методом ITableDefinition::CreateTable, когда требуются столбцы пользовательских типов:The following information is used in DBCOLUMNDESC structures by ITableDefinition::CreateTable when UDT columns are required:

pwSzTypeName игнорируется.pwSzTypeName is ignored.

Свойство rgPropertySets должно включать набор свойств DBPROPSET_SQLSERVERCOLUMN, как описано в пункте DBPROPSET_SQLSERVERCOLUMN раздела Использование определяемых пользователем типов.rgPropertySets must include a DBPROPSET_SQLSERVERCOLUMN property set as described in the section on DBPROPSET_SQLSERVERCOLUMN, in Using User-Defined Types.
DBTYPE_UI1DBTYPE_UI1 tinyinttinyint
DBTYPE_WSTRDBTYPE_WSTR nchar, nvarchar, ntext или nvarchar(max)nchar, nvarchar, ntext, or nvarchar(max) SQL ServerSQL ServerПоставщик OLE DB собственного клиента проверяет элемент ULCOLUMNSIZE структуры DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. Основываясь на значении, SQL ServerSQL Server поставщик собственного клиента OLE DB сопоставляет тип с типом ntext.Based on the value, the SQL ServerSQL Server Native Client OLE DB provider maps the type to ntext.

Если значение ulColumnSize меньше, чем максимальная длина столбца типа данных character в Юникоде, то SQL ServerSQL Server поставщик OLE DB для собственного клиента проверяет элемент DBCOLUMNDESC rgPropertySets .If the value of ulColumnSize is smaller than the maximum length of a Unicode character data type column, then the SQL ServerSQL Server Native Client OLE DB provider inspects the DBCOLUMNDESC rgPropertySets member. Если DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, то SQL ServerSQL Server поставщик OLE DB собственного клиента сопоставляет тип с типом nchar.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to nchar. Если значение свойства равно VARIANT_FALSE, SQL ServerSQL Server поставщик OLE DB Native Client сопоставляет тип с типом nvarchar.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to nvarchar. В любом случае элемент ulColumnSize структуры DBCOLUMNDESC определяет ширину создаваемого столбца SQL ServerSQL Server.In either case, the DBCOLUMNDESC ulColumnSize member determines the width of the SQL ServerSQL Server column created.
DBTYPE_XMLDBTYPE_XML XMLXML

Примечание

При создании новой таблицы поставщик OLE DB для собственного клиента SQL ServerSQL Server сопоставляет только значения перечислений типов данных OLE DB, указанные в предшествующей таблице.When creating a new table, the SQL ServerSQL Server Native Client OLE DB provider maps only the OLE DB data type enumeration values specified in the preceding table. Попытка создать таблицу со столбцом любого другого типа данных OLE DB приводит к ошибке.Attempting to create a table with a column of any other OLE DB data type generates an error.

См. также:See Also

Типы данных (OLE DB)Data Types (OLE DB)