Mapping dei tipi di dati di SQL Server Native Client in ITableDefinition

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Quando si creano tabelle tramite la funzione ITableDefinition::CreateTable , il consumer del provider OLE DB di SQL Server Native Client può specificare i tipi di dati di SQL Server nel membro pwszTypeName della matrice DBCOLUMNDESC passata. Se il consumer specifica il tipo di dati di una colonna in base al nome, il mapping del tipo di dati OLE DB rappresentato dal membro wType della struttura DBCOLUMNDESC viene ignorato.

Quando si specificano nuovi tipi di dati di colonna con tipi di dati OLE DB usando il membro wType della struttura DBCOLUMNDESC, il provider OLE DB di SQL Server Native Client esegue il mapping dei tipi di dati OLE DB come indicato di seguito.

Tipo di dati OLE DB SQL Server

tipo di dati
Informazioni aggiuntive
DBTYPE_BOOL bit
DBTYPE_BYTES binary, varbinary, image, o varbinary(max) Il provider OLE DB di SQL Server Native Client controlla il membro ulColumnSize della struttura DBCOLUMNDESC. In base al valore e alla versione dell'istanza di SQL Server, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo all'immagine.

Se il valore di ulColumnSize è inferiore alla lunghezza massima di una colonna di tipo di dati binario , il provider OLE DB di SQL Server Native Client controlla il membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH è VARIANT_TRUE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo al file binario. Se il valore della proprietà è VARIANT_FALSE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a varbinary. In entrambi i casi il membro ulColumnSize di DBCOLUMNDESC determina la larghezza della colonna di SQL Server creata.
DBTYPE_CY money
DBTYPE_DBTIMESTAMP datetime
DBTYPE_GUID uniqueidentifier
DBTYPE_I2 smallint
DBTYPE_I4 int
DBTYPE_NUMERIC numeric Il provider OLE DB di SQL Server Native Client controlla i membri DBCOLUMDESC bPrecision e bScale per determinare la precisione e la scala per la colonna numerica .
DBTYPE_R4 real
DBTYPE_R8 float
DBTYPE_STR char, varchar, text, o varchar(max) Il provider OLE DB di SQL Server Native Client controlla il membro ulColumnSize della struttura DBCOLUMNDESC. In base al valore e alla versione dell'istanza di SQL Server, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo al testo.

Se il valore di ulColumnSize è inferiore alla lunghezza massima di una colonna del tipo di dati multibyte, il provider OLE DB di SQL Server Native Client controlla il membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH è VARIANT_TRUE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a char. Se il valore della proprietà è VARIANT_FALSE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a varchar. In entrambi i casi il membro ulColumnSize di DBCOLUMNDESC determina la larghezza della colonna di SQL Server creata.
DBTYPE_UDT UDT Le informazioni seguenti vengono usate nelle strutture DBCOLUMNDESC impiegate da ITableDefinition::CreateTable quando sono necessarie colonne di tipo definito dall'utente:

pwSzTypeName viene ignorato.

rgPropertySets deve includere un set di proprietà DBPROPSET_SQLSERVERCOLUMN, come descritto nella sezione DBPROPSET_SQLSERVERCOLUMN, in Uso dei tipi definiti dall'utente.
DBTYPE_UI1 tinyint
DBTYPE_WSTR nchar, nvarchar, ntext, o nvarchar(max) Il provider OLE DB di SQL Server Native Client controlla il membro ulColumnSize della struttura DBCOLUMNDESC. In base al valore, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a ntext.

Se il valore di ulColumnSize è inferiore alla lunghezza massima di una colonna del tipo di dati carattere Unicode, il provider OLE DB di SQL Server Native Client controlla il membro DBCOLUMNDESC rgPropertySets . Se DBPROP_COL_FIXEDLENGTH è VARIANT_TRUE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a nchar. Se il valore della proprietà è VARIANT_FALSE, il provider OLE DB di SQL Server Native Client esegue il mapping del tipo a nvarchar. In entrambi i casi il membro ulColumnSize di DBCOLUMNDESC determina la larghezza della colonna di SQL Server creata.
DBTYPE_XML XML

Nota

Quando si crea una nuova tabella, il provider OLE DB di SQL Server Native Client esegue il mapping solo dei valori di enumerazione del tipo di dati OLE DB specificati nella tabella precedente. Il tentativo di creare una tabella con una colonna di qualsiasi altro tipo di dati OLE DB DB genera un errore.

Vedi anche

Tipi di dati (OLE DB)