Freigeben über


OLE DB-Typunterstützung für Tabellenwertparameter

In diesem Thema wird die OLE DB-Typunterstützung für Tabellenwertparameter beschrieben.

Tabellenwertparameter-Rowsetobjekt

Sie können ein spezielles Rowsetobjekt für Tabellenwertparameter erstellen. Sie erstellen das Tabellenwertparameter-Rowsetobjekt mit ITableDefinitionWithConstraints::CreateTableWithConstraints oder IOpenRowset::OpenRowset. Hierzu legen Sie das eKind-Element des pTableID-Parameters auf DBKIND_GUID_NAME fest und geben für das guid-Element CLSID_ROWSET_INMEMORY an. Beim Einsatz von IOpenRowset::OpenRowset muss der Servertypname für den Tabellenwertparameter im pwszName-Element von pTableID angegeben werden. Das Tabellenwertparameter-Rowsetobjekt verhält sich wie ein reguläres Objekt des OLE DB-Anbieters von SQL Server Native Client.

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

Der neue Typ DBTYPE_TABLE stellt einen Tabellentyp dar. Dieser Typ gibt Tabellenwertparameter in verschiedenen OLE DB-Schnittstellen an, wo ein DBTYPE erforderlich ist.

#define DBTYPE_TABLE (143)

DBTYPE_TABLE hat das gleiche Format wie DBTYPE_IUNKNOWN. Es ist ein Zeiger auf ein Objekt im Datenpuffer. Um die Bindungen vollständig anzugeben, füllt der Consumer den DBOBJECT-Puffer, wobei iid auf eine der Schnittstellen des Rowsetobjekts (IID_IRowset) festgelegt wird. Wenn in den Bindungen die Angabe von DBOBJECT fehlt, wird IID_IRowset angenommen.

Konvertierungen anderer Typen in DBTYPE_TABLE bzw. von DBTYPE_TABLE in andere Typen werden nicht unterstützt. IConvertType::CanConvert gibt S_FALSE für nicht unterstützte Konvertierungen zurück, d. h. für jede Anforderung, mit der eine andere Konvertierung als DBTYPE_TABLE an DBTYPE_TABLE angefordert wird. Hierbei wird die Angabe von DBCONVERTFLAGS_PARAMETER für das Command-Objekt unterstellt.

Methoden

Weitere Informationen zu OLE DB-Methoden, die Tabellenwertparameter unterstützen, finden Sie unter OLE DB-Unterstützung von Tabellenwertparameter-Typen (Methoden).

Eigenschaften

Weitere Informationen zu OLE DB-Eigenschaften, die Tabellenwertparameter unterstützen, finden Sie unter OLE DB-Unterstützung von Tabellenwertparameter-Typen (Eigenschaften).

Siehe auch

Konzepte