Condividi tramite


Supporto dei tipi di parametro con valori di tabella OLE DB (metodi)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

Scaricare il driver OLE DB

I parametri con valori di tabella sono supportati dai seguenti metodi OLE DB standard:

Metodo Supporto dei parametri con valori di tabella
ITableDefinitionWithConstraints::CreateTableWithConstraints Utilizzato quando si conoscono le informazioni sul tipo di parametro con valori di tabella e si desidera creare un'istanza dell'oggetto set di righe di parametri con valori di tabella in base alle informazioni sul tipo.

Per altre informazioni, vedere "Scenario statico" in Creazione di un set di righe di parametri con valori di tabella.
IOpenRowset::OpenRowset Utilizzato quando non si conoscono le informazioni sul tipo di un parametro con valori di tabella e si desidera creare un'istanza dell'oggetto set di righe di parametri con valori di tabella in base alle informazioni sui metadati recuperate dal server.

Per altre informazioni, vedere "Scenario dinamico" in Creazione di un set di righe di parametri con valori di tabella.
ISSCommandWithParameters::SetParameterInfo Per specificare un parametro del comando con parametri con valori di tabella, il consumer specifica il tipo del parametro come "table" o "DBTYPE_TABLE" nel membro pwszName della struttura DBPARAMBINDINFO. Il campo ulParamSize è impostato su ~0. Per altre informazioni, vedere "Specifica del parametro con valori di tabella" in Esecuzione di comandi contenenti parametri con valori di tabella.
ISSCommandWithParameters::SetParameterProperties Imposta le proprietà specifiche per i parametri con valori di tabella, ad esempio nome dello schema, nome del tipo, ordine delle colonne e colonne predefinite.

Il consumer specifica il numero ordinale del parametro nel membro iOrdinal della struttura SSPARAMPROPS. Il set di proprietà richiesto è DBPROPSET_SQLSERVERPARAMETER.
ISSCommandWithParameters::GetParameterInfo Ottiene i tipi di tutti i parametri per un comando specificato.

Per i parametri con valori di tabella, il tipo del campo wType nella struttura DBPARAMINFO sarà DBTYPE_TABLE. Il campo ulParamSize verrà impostato su ~0 per indicare che la lunghezza non è nota.
ISSCommandWithParameters::GetParameterProperties Ottiene informazioni sul tipo aggiuntive per i parametri del tipo DBTYPE_TABLE.

Il consumer specifica il numero ordinale del parametro nel membro iOrdinal della struttura SSPARAMPROPS. Il consumer può richiedere qualsiasi proprietà presente nel set di proprietà DBPROPSET_SQLSERVERPARAMETER riportata in ISSCommandWithParameters::SetParameterProperties.

Poiché il consumer non conosce il tipo di parametro con valori di tabella, il provider deve impostare SSPROP_PARAM_TYPE_TYPENAME, SSPROP_PARAM_TYPE_SCHEMANAME e SSPROP_PARAM_TYPE_CATALOGNAME sui valori corretti. Le proprietà restanti, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS e SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER, utilizzeranno i valori predefiniti. Dopo che il consumer ha individuato il nome del tipo di parametro con valori di tabella, usa IOpenRowset::OpenRowset per creare un'istanza di questo parametro con valori di tabella, specificando il nome del tipo di parametro con valori di tabella. Per altre informazioni, vedere Individuazione dei tipi di parametri con valori di tabella.
IRowsetInfo::GetProperties Ottiene le proprietà del set di righe di parametri con valori di tabella. Il consumer può utilizzare queste proprietà per configurare le associazioni in modo ottimale.
IColumnsRowset::GetColumnsRowset Recupera le informazioni sui metadati relative a una tabella di SQL Server. Per i parametri con valori di tabella, questa stessa interfaccia fornisce informazioni dettagliate sui metadati relative a ogni colonna, ad esempio:

DBCOLUMN_FLAGS indica se i valori sono supportati tramite il bit DBCOLUMNFLAGS_ISNULLABLE.

DBCOLUMN_ISUNIQUE indica se la nuova colonna è una colonna Identity.

DBCOLUMN_COMPUTEMODE indica se la colonna viene calcolata.
IAccessor::CreateAccessor Per associare un oggetto set di righe di parametri con valori di tabella a un parametro del comando, creare una funzione di accesso con il membro wType impostato su DBTYPE_TABLE. La struttura DBOBJECT conterrà l'interfaccia IID_IRowset o un'altra interfaccia valida dell'oggetto set di righe nel membro iid. Il resto dei campi viene gestito in modo analogo a DBTYPE_IUNKNOWN.

Vedere anche

Supporto dei tipi di parametro con valori di tabella OLE DB
Creazione di un set di righe di parametri con valori di tabella
Utilizzare parametri con valori di tabella (OLE DB)