Mapeamento de tipo de dados do SQL Server Native Client em ITableDefinition
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics
Ao criar tabelas usando a função ITableDefinition::CreateTable , o consumidor do provedor OLE DB do SQL Server Native Client pode especificar tipos de dados do SQL Server no membro pwszTypeName da matriz DBCOLUMNDESC que é passada. Caso o consumidor especifique o tipo de dados de uma coluna por nome, o mapeamento do tipo de dados OLE DB, representado pelo membro wType da estrutura DBCOLUMNDESC, será ignorado.
Ao especificar novos tipos de dados de coluna com tipos de dados OLE DB usando o membro wType da estrutura DBCOLUMNDESC, o provedor OLE DB do SQL Server Native Client mapeia os tipos de dados OLE DB da seguinte maneira.
Tipo de dados OLE DB | SQL Server tipo de dados |
Informações adicionais |
---|---|---|
DBTYPE_BOOL | bit | |
DBTYPE_BYTES | binary, varbinary, image, ou varbinary(max) | O provedor OLE DB do SQL Server Native Client inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor e na versão da instância do SQL Server, o provedor OLE DB do SQL Server Native Client mapeia o tipo para a imagem. Se o valor de ulColumnSize for menor que o comprimento máximo de uma coluna de tipo de dados binário , o provedor OLE DB do SQL Server Native Client inspecionará o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para binário. Se o valor da propriedade for VARIANT_FALSE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para varbinary. Em ambos os casos, o membro ulColumnSize de DBCOLUMNDESC determina a largura da coluna do SQL Server criada. |
DBTYPE_CY | money | |
DBTYPE_DBTIMESTAMP | datetime | |
DBTYPE_GUID | uniqueidentifier | |
DBTYPE_I2 | smallint | |
DBTYPE_I4 | int | |
DBTYPE_NUMERIC | numeric | O provedor OLE DB do SQL Server Native Client inspeciona os membros DBCOLUMDESC bPrecision e bScale para determinar a precisão e a escala da coluna numérica . |
DBTYPE_R4 | real | |
DBTYPE_R8 | float | |
DBTYPE_STR | char, varchar, text ou varchar(max) | O provedor OLE DB do SQL Server Native Client inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor e na versão da instância do SQL Server, o provedor OLE DB do SQL Server Native Client mapeia o tipo para texto. Se o valor de ulColumnSize for menor que o comprimento máximo de uma coluna de tipo de dados de caractere multibyte, o provedor OLE DB do SQL Server Native Client inspecionará o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para char. Se o valor da propriedade for VARIANT_FALSE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para varchar. Em ambos os casos, o membro ulColumnSize de DBCOLUMNDESC determina a largura da coluna do SQL Server criada. |
DBTYPE_UDT | UDT | As seguintes informações são usadas em estruturas DBCOLUMNDESC por ITableDefinition::CreateTable quando as colunas UDT são obrigatórias: pwSzTypeName é ignorado. rgPropertySets deve incluir uma propriedade DBPROPSET_SQLSERVERCOLUMN definida conforme descrito na seção sobre DBPROPSET_SQLSERVERCOLUMN, em Uso de tipos definidos pelo usuário. |
DBTYPE_UI1 | tinyint | |
DBTYPE_WSTR | nchar, nvarchar, ntext ou nvarchar(max) | O provedor OLE DB do SQL Server Native Client inspeciona o membro ulColumnSize da estrutura DBCOLUMNDESC. Com base no valor, o provedor OLE DB do SQL Server Native Client mapeia o tipo para ntext. Se o valor de ulColumnSize for menor que o comprimento máximo de uma coluna de tipo de dados de caractere Unicode, o provedor OLE DB do SQL Server Native Client inspecionará o membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH for VARIANT_TRUE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para nchar. Se o valor da propriedade for VARIANT_FALSE, o provedor OLE DB do SQL Server Native Client mapeará o tipo para nvarchar. Em ambos os casos, o membro ulColumnSize de DBCOLUMNDESC determina a largura da coluna do SQL Server criada. |
DBTYPE_XML | XML |
Observação
Ao criar uma nova tabela, o provedor OLE DB do SQL Server Native Client mapeia apenas os valores de enumeração de tipo de dados OLE DB especificados na tabela anterior. Tentar criar uma tabela com uma coluna de qualquer outro tipo de dados OLE DB gera um erro.
Consulte Também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de