Individuazione dei tipi di parametro con valori di tabella (OLE DB Driver)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Download del driver OLE DB

Il consumer, ovvero l'applicazione client che usa il driver OLE DB per SQL Server, può individuare il tipo di ogni parametro del comando se al provider OLE DB è stato indicato il testo del comando. Una volta noto il tipo di un parametro con valori di tabella, il consumer può individuare le informazioni sui metadati per ogni singola colonna del parametro con valori di tabella.

Per la maggior parte dei tipi di parametri le informazioni sul tipo dei parametri di procedura sono supportate da ICommandWithParameters::GetParameterInfo. A partire da SQL Server 2005 (9.x), con l'introduzione dei tipi definiti dall'utente e del tipo di dati xml, il metodo GetParameterInfo non era sufficiente per questo scopo poiché non era possibile specificare le informazioni sul tipo definito dall'utente (nome, schema e catalogo) tramite ICommandWithParameters. Per fornire informazioni estese sul tipo è stata definita la nuova interfaccia ISSCommandWithParameters.

Per i parametri con valori di tabella, l'interfaccia ISSCommandWithParameters viene usata anche per individuare informazioni dettagliate. Il client chiama ISSCommandWithParameters::GetParameterInfo dopo aver preparato l'oggetto commando. Per i parametri con valori di tabella il membro wType della struttura DBPARAMINFO viene impostato su DBTYPE_TABLE dal provider. Il valore del campo ulParamSize della struttura DBPARAMINFO è ~0.

Il consumer può quindi richiedere proprietà aggiuntive (nome del catalogo del tipo di parametro con valori di tabella, nome dello schema del tipo di parametro con valori di tabella, nome del tipo di parametro con valori di tabella, ordinamento colonne e colonne predefinite) mediante ISSCommandWithParameters::GetParameterProperties.

Una volta noto il nome del tipo, per recuperare informazioni sulle singole colonne il consumer deve chiamare IOpenRowset::OpenRowset oppure ottenere il set di righe DBSCHEMA_TABLE_TYPE_COLUMNS specificando il nome del tipo di parametro con valori di tabella come nome della tabella.

Vedi anche

Parametri con valori di tabella (OLE DB)
Usare parametri con valori di tabella (OLE DB)