SQL Server Native Client de la asignación de tipos de datos en ITableDefinitionSQL Server Native Client Data Type Mapping in ITableDefinition

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Al crear tablas mediante la función ITableDefinition:: CreateTable , el SQL ServerSQL Server consumidor del proveedor de OLE DB de Native Client puede especificar SQL ServerSQL Server tipos de datos en el miembro pwszTypeName de la matriz DBCOLUMNDESC que se pasa.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. Si el consumidor especifica el tipo de datos de una columna por nombre, se omite la asignación del tipo de datos de OLE DB, representada por el miembro wType de la estructura 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.

Al especificar los nuevos tipos de datos de columna con OLE DB tipos de datos que usan el miembro wType de la estructura DBCOLUMNDESC, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna OLE DB tipos de datos de la siguiente manera.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.

Tipo de datos de OLE DBOLE DB data type SQL ServerSQL Server

tipo de datosdata type
Información adicionalAdditional information
DBTYPE_BOOLDBTYPE_BOOL bitbit
DBTYPE_BYTESDBTYPE_BYTES binary, varbinary, image o varbinary(max)binary, varbinary, image, or varbinary(max) El SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. Basándose en el valor y la versión de la SQL ServerSQL Server instancia, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a Image.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.

Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos binarios , el SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC.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. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a binario.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to binary. Si el valor de la propiedad es VARIANT_FALSE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a varbinary.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to varbinary. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL Server creada.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 El SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona los miembros miembros BPrecision y bScale para determinar la precisión y la escala de la columna numérica .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 o varchar(max)char, varchar, text, or varchar(max) El SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. En función del valor y la versión de la SQL ServerSQL Server instancia, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a texto.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.

Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos de caracteres multibyte, el SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC.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. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a Char.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to char. Si el valor de la propiedad es VARIANT_FALSE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a VARCHAR.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to varchar. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL ServerSQL Server creada.In either case, the DBCOLUMNDESC ulColumnSize member determines the width of the SQL ServerSQL Server column created.
DBTYPE_UDTDBTYPE_UDT UDTUDT Cuando se requieren columnas UDT, ITableDefinition::CreateTable usa la información que se muestra a continuación en estructuras DBCOLUMNDESC:The following information is used in DBCOLUMNDESC structures by ITableDefinition::CreateTable when UDT columns are required:

Se omite pwSzTypeName.pwSzTypeName is ignored.

rgPropertySets debe incluir un conjunto de propiedades DBPROPSET_SQLSERVERCOLUMN como se describe en la sección de DBPROPSET_SQLSERVERCOLUMN, en Usar tipos definidos por el usuario.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 o nvarchar(max)nchar, nvarchar, ntext, or nvarchar(max) El SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC.The SQL ServerSQL Server Native Client OLE DB provider inspects the ulColumnSize member of the DBCOLUMNDESC structure. Según el valor, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a ntext.Based on the value, the SQL ServerSQL Server Native Client OLE DB provider maps the type to ntext.

Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos de caracteres Unicode, el SQL ServerSQL Server proveedor de OLE DB de Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC.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. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a nchar.If DBPROP_COL_FIXEDLENGTH is VARIANT_TRUE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to nchar. Si el valor de la propiedad es VARIANT_FALSE, el SQL ServerSQL Server proveedor de OLE DB de Native Client asigna el tipo a nvarchar.If the value of the property is VARIANT_FALSE, the SQL ServerSQL Server Native Client OLE DB provider maps the type to nvarchar. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL ServerSQL Server creada.In either case, the DBCOLUMNDESC ulColumnSize member determines the width of the SQL ServerSQL Server column created.
DBTYPE_XMLDBTYPE_XML XMLXML

Nota

Cuando se crea una nueva tabla, el proveedor OLE DB de SQL ServerSQL Server Native Client solamente asigna los valores de enumeración del tipo de datos de OLE DB especificado en la tabla anterior.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. Al intentar crear una tabla con una columna de cualquier otro tipo de datos de OLE DB, se genera un error.Attempting to create a table with a column of any other OLE DB data type generates an error.

Consulte tambiénSee Also

Tipos de datos (OLE DB)Data Types (OLE DB)