asignación de tipos de datos de SQL Server Native Client en ITableDefinition
Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Al crear tablas mediante la función ITableDefinition::CreateTable, el consumidor del proveedor OLE DB de SQL Server Native Client puede especificar SQL Server tipos de datos en el miembro pwszTypeName de la matriz DBCOLUMNDESC que se pasa. 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.
Al especificar nuevos tipos de datos de columna con tipos de datos OLE DB mediante el miembro wType de la estructura DBCOLUMNDESC, el proveedor OLE DB SQL Server Native Client asigna los tipos de datos OLE DB de la siguiente manera.
Tipo de datos de OLE DB | SQL Server tipo de datos |
Información adicional |
---|---|---|
DBTYPE_BOOL | bit | |
DBTYPE_BYTES | binary, varbinary, image o varbinary(max) | El proveedor OLE DB SQL Server Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC. Según el valor y la versión de la instancia de SQL Server, el proveedor ole DB de SQL Server Native Client asigna el tipo a la imagen. Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos binario, el proveedor OLE DB SQL Server Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el proveedor OLE DB de SQL Server Native Client asigna el tipo a binario. Si el valor de la propiedad es VARIANT_FALSE, el proveedor OLE DB de SQL Server Native Client asigna el tipo a varbinary. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL Server creada. |
DBTYPE_CY | money | |
DBTYPE_DBTIMESTAMP | datetime | |
DBTYPE_GUID | uniqueidentifier | |
DBTYPE_I2 | smallint | |
DBTYPE_I4 | int | |
DBTYPE_NUMERIC | numeric | El proveedor OLE DB SQL Server Native Client inspecciona los miembros bPrecision y bScale de DBCOLUMDESC para determinar la precisión y la escala de la columna numérica. |
DBTYPE_R4 | real | |
DBTYPE_R8 | float | |
DBTYPE_STR | char, varchar, text o varchar(max) | El proveedor OLE DB SQL Server Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC. Según el valor y la versión de la instancia de SQL Server, el proveedor OLE DB SQL Server Native Client asigna el tipo al texto. Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos de caracteres multibyte, el proveedor OLE DB SQL Server Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el proveedor OLE DB de SQL Server Native Client asigna el tipo a char. Si el valor de la propiedad es VARIANT_FALSE, el proveedor OLE DB SQL Server Native Client asigna el tipo a varchar. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL Server creada. |
DBTYPE_UDT | UDT | Cuando se requieren columnas UDT, ITableDefinition::CreateTable usa la información que se muestra a continuación en estructuras DBCOLUMNDESC: Se omite pwSzTypeName. 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. |
DBTYPE_UI1 | tinyint | |
DBTYPE_WSTR | nchar, nvarchar, ntext o nvarchar(max) | El proveedor OLE DB SQL Server Native Client inspecciona el miembro ulColumnSize de la estructura DBCOLUMNDESC. Según el valor , el proveedor OLE DB SQL Server Native Client asigna el tipo a ntext. Si el valor de ulColumnSize es menor que la longitud máxima de una columna de tipo de datos de caracteres Unicode, el proveedor OLE DB SQL Server Native Client inspecciona el miembro rgPropertySets de DBCOLUMNDESC. Si DBPROP_COL_FIXEDLENGTH es VARIANT_TRUE, el proveedor OLE DB de SQL Server Native Client asigna el tipo a nchar. Si el valor de la propiedad es VARIANT_FALSE, el proveedor OLE DB de SQL Server Native Client asigna el tipo a nvarchar. En cualquier caso, el miembro ulColumnSize de DBCOLUMNDESC determina el ancho de la columna SQL Server creada. |
DBTYPE_XML | XML |
Nota:
Al crear una tabla, el proveedor OLE DB de SQL Server Native Client asigna solo los valores de enumeración de tipo de datos OLE DB especificados en la tabla anterior. Al intentar crear una tabla con una columna de cualquier otro tipo de datos de OLE DB, se genera un error.
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de