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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per