Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Base de dados SQL no Microsoft Fabric
Ao criar tabelas usando a função ITableDefinition::CreateTable , o Driver OLE DB para consumidor SQL Server pode especificar tipos de dados SQL Server no membro pwszTypeName do array DBCOLUMNDESC que é passado. Se o consumidor especificar o tipo de dado de uma coluna pelo nome, o mapeamento do tipo de dados OLE DB, representado pelo membro wType da estrutura DBCOLUMNDESC, é ignorado.
Ao especificar novos tipos de dados de coluna com tipos de dados OLE DB usando o membro da estrutura DBCOLUMNDESC wType , o Driver OLE DB para SQL Server mapeia os tipos de dados OLE DB da seguinte forma.
| Tipo de dados OLE DB | SQL Server tipo de dados |
Informações adicionais |
|---|---|---|
| DBTYPE_BOOL | bit | |
| DBTYPE_BYTES | binário, varbinário, imagem ou varbinário(max) | O Driver OLE DB para SQL Server inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor e na versão da instância SQL Server, o Driver OLE DB para SQL Server mapeia o tipo para imagem. Se o valor de ulColumnSize for inferior ao comprimento máximo de uma coluna binária de tipo de dato, então o OLE DB Driver para SQL Server inspeciona o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o OLE DB Driver para SQL Server mapeia o tipo para binário. Se o valor da propriedade for VARIANT_FALSE, o Driver OLE DB para SQL Server mapeia o tipo para varbinary. Em qualquer dos casos, o membro DBCOLUMNDESC ulColumnSize determina a largura da coluna do SQL Server criada. |
| DBTYPE_CY | dinheiro | |
| DBTYPE_DBTIMESTAMP | datetime2 | |
| DBTYPE_GUID | uniqueidentifier | |
| DBTYPE_I2 | smallint | |
| DBTYPE_I4 | int | |
| DBTYPE_I8 | bigint | |
| DBTYPE_NUMERIC | numérico | O Driver OLE DB para SQL Server inspeciona os membros DBCOLUMDESC bPrecision e bScale para determinar a precisão e escala da coluna numérica . |
| DBTYPE_R4 | real | |
| DBTYPE_R8 | float | |
| DBTYPE_STR | char, varchar, text, ou varchar(max) | O Driver OLE DB para SQL Server inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor e na versão da instância do SQL Server, o OLE DB Driver para SQL Server mapeia o tipo para texto. Se o valor de ulColumnSize for inferior ao comprimento máximo de uma coluna de tipo de dado de carácter multibyte, então o OLE DB Driver para SQL Server inspeciona o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o OLE DB Driver para SQL Server mapeia o tipo para char. Se o valor da propriedade for VARIANT_FALSE, o Driver OLE DB para SQL Server mapeia o tipo para varchar. Em qualquer dos casos, o membro DBCOLUMNDESC ulColumnSize determina a largura da coluna do SQL Server criada. |
| DBTYPE_UDT | UDT | A seguinte informação é utilizada nas estruturas DBCOLUMNDESC pelo ITableDefinition::CreateTable quando são necessárias colunas UDT: pwSzTypeName é ignorado. rgPropertySets deve incluir um conjunto de propriedades DBPROPSET_SQLSERVERCOLUMN conforme descrito na secção sobre DBPROPSET_SQLSERVERCOLUMN, em Uso de User-Defined Tipos. |
| DBTYPE_UI1 | tinyint | |
| DBTYPE_VARIANT | sql_variant | |
| DBTYPE_WSTR | nchar, nvarchar, ntext ou nvarchar(max) | O Driver OLE DB para SQL Server inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor, o OLE DB Driver para SQL Server mapeia o tipo para ntext. Se o valor de ulColumnSize for inferior ao comprimento máximo de uma coluna de tipo de dado de carácter Unicode, então o Driver OLE DB para SQL Server inspeciona o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o Driver OLE DB para SQL Server mapeia o tipo para nchar. Se o valor da propriedade for VARIANT_FALSE, o OLE DB Driver para SQL Server mapeia o tipo para nvarchar. Em qualquer dos casos, o membro DBCOLUMNDESC ulColumnSize determina a largura da coluna do SQL Server criada. |
| DBTYPE_XML | XML |
Observação
Ao criar uma nova tabela, o Driver OLE DB para SQL Server mapeia apenas os valores de enumeração de tipos de dados OLE DB especificados na tabela anterior. Tentar criar uma tabela com uma coluna de qualquer outro tipo de dado OLE DB gera um erro.