Share via


Supporto del tipo di parametro con valori di tabella OLE DB

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

Scaricare il driver OLE DB

In questo articolo viene descritto il supporto del tipo OLE DB per i parametri con valori di tabella.

Oggetto set di righe di parametri con valori di tabella

È possibile creare un oggetto set di righe specifico per i parametri con valori di tabella. Per creare l'oggetto set di righe per i parametri con valori di tabella, usare ITableDefinitionWithConstraints::CreateTableWithConstraints o IOpenRowset::OpenRowset. A questo scopo, impostare il membro eKind del parametro pTableID su DBKIND_GUID_NAME e specificare CLSID_ROWSET_INMEMORY come membro guid. Il nome del tipo di server per il parametro con valori di tabella deve essere specificato nel membro pwszName di pTableID quando si usa IOpenRowset::OpenRowset. L'oggetto set di righe per i parametri con valori di tabella si comporta come un normale oggetto di OLE DB Driver per SQL Server.

const GUID CLSID_ROWSET_TVP =   
{0xc7ef28d5, 0x7bee, 0x443f, {0x86, 0xda, 0xe3, 0x98, 0x4f, 0xcd, 0x4d, 0xf9}};  
  
CoType RowsetTVP  
{  
[mandatory] interface IAccessor;  
[mandatory] interface IColumnsInfo;  
[mandatory] interface IConvertType;  
[mandatory] interface IRowset;  
[mandatory] interface IRowsetInfo;  
[optional]  interface IColumnsRowset;  
[optional]  interface IRowsetChange;  
[optional]  interface ISupportErrorInfo;  
};  

DBTYPE_TABLE

Un nuovo tipo, DBTYPE_TABLE, rappresenta un tipo di tabella. Tale tipo specifica i parametri con valori di tabella nelle varie interfacce OLE DB in cui è richiesto un oggetto DBTYPE.

#define DBTYPE_TABLE (143)  

Il formato di DBTYPE_TABLE è identico a quello di DBTYPE_IUNKNOWN. Si tratta di un puntatore a un oggetto nel buffer di dati. Per una specifica completa nelle associazioni, il consumer inserisce dati nel buffer DBOBJECT, con iid impostato su una delle interfacce dell'oggetto set di righe (IID_IRowset). Se non viene specificato alcun oggetto DBOBJECT nelle associazioni, si presuppone che l'oggetto sia IID_IRowset.

Le conversioni da e verso DBTYPE_TABLE per altri tipi non sono supportate. IConvertType::CanConvert restituisce S_FALSE per la conversione non supportata per tutte le richieste diverse dalla conversione da DBTYPE_TABLE a DBTYPE_TABLE. In questa situazione si presuppone l'uso di DBCONVERTFLAGS_PARAMETER sull'oggetto Command.

Metodi

Per informazioni sui metodi di OLE DB che supportano i parametri con valori di tabella, vedere Supporto dei tipi di parametri con valori di tabella OLE DB (metodi).

Proprietà

Per informazioni sulle proprietà di OLE DB che supportano i parametri con valori di tabella, vedere Supporto dei tipi di parametri con valori di tabella OLE DB (proprietà).

Vedere anche

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