SQL Server Native Client Mapping dei tipi di dati in ITableDefinition

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Quando si creano tabelle usando la funzione ITableDefinition::CreateTable, il consumer del provider OLE DB Native Client può specificare i tipi di dati nel membro SQL Server SQL Server 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 Native Client esegue il mapping OLE DB tipi di dati come indicato di SQL Server 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 Native Client controlla il membro SQL Server ulColumnSize della struttura DBCOLUMNDESC. In base al valore e alla versione dell'istanza di , il provider OLE DB Native Client esegue il SQL Server SQL Server mapping del tipo all'immagine.

Se il valore di ulColumnSize è inferiore alla lunghezza massima di una colonna con tipo di dati binary, il provider OLE DB Native Client controlla il membro SQL Server rgPropertySets di DBCOLUMNDESC. Se DBPROP_COL_FIXEDLENGTH è VARIANT_TRUE, il provider OLE DB Native Client esegue il SQL Server mapping del tipo a binario. Se il valore della proprietà è VARIANT_FALSE, il provider OLE DB Native Client esegue il mapping del tipo SQL Server 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 di OLE DB Native Client controlla i membri SQL Server 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 Native Client controlla il membro SQL Server ulColumnSize della struttura DBCOLUMNDESC. In base al valore e alla versione dell'istanza, il provider OLE DB Native Client esegue il SQL Server mapping del tipo al SQL Server testo.

Se il valore di ulColumnSize è inferiore alla lunghezza massima di una colonna con tipo di dati carattere multibyte, il provider OLE DB Native Client controlla il membro SQL Server rgPropertySets di DBCOLUMNDESC. Se DBPROP_COL_FIXEDLENGTH è VARIANT_TRUE, il provider OLE DB Native Client esegue il SQL Server mapping del tipo a char. Se il valore della proprietà è VARIANT_FALSE, il provider OLE DB Native Client esegue il mapping del tipo SQL Server 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 Native Client controlla il membro SQL Server ulColumnSize della struttura DBCOLUMNDESC. In base al valore , il provider OLE DB Native Client esegue il SQL Server mapping del tipo a ntext.

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

Nota

In caso di creazione di 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.

Vedere anche

Tipi di dati (OLE DB)