OLE DB-Typunterstützung für Tabellenwertparameter
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Azure Synapse Analytics Analytics
Platform System (PDW)
In diesem Artikel wird die OLE DB-Typunterstützung für Tabellenwertparameter beschrieben.
Tabellenwertparameter-Rowsetobjekt
Sie können ein spezielles Rowsetobjekt für Tabellenwertparameter erstellen. Sie können das Rowsetobjekt für Tabellenwertparameter mithilfe von ITableDefinitionWithConstraints::CreateTableWithConstraints oder IOpenRowset::OpenRowset erstellen. Legen Sie hierzu das eKind-Element des pTableID-Parameters auf DBKIND_GUID_NAME fest, und geben Sie für das guid-Element CLSID_ROWSET_INMEMORY an. Der Servertypname für den Tabellenwertparameter muss bei Verwendung von IOpenRowset:: OPENROWSET im pwszName-Element von pTableID angegeben werden. Das Rowsetobjekt für den Tabellenwertparameter verhält sich wie ein reguläres Objekt des OLE DB-Treibers für 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
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 zu und von DBTYPE_TABLE für andere Typen werden nicht unterstützt. Außer bei einer Konvertierung von DBTYPE_TABLE zu DBTYPE_TABLE gibt IConvertType::CanConvert bei einer nicht unterstützten Konvertierung für jede Anforderung S_FALSE zurück. Hierbei wird die Angabe von DBCONVERTFLAGS_PARAMETER für das Command-Objekt angenommen.
Methoden
Weitere Informationen zu OLE DB-Methoden, die Tabellenwertparameter unterstützen, finden Sie unter OLE DB-Unterstützung von Tabellenwertparametern (Methoden).
Eigenschaften
Weitere Informationen zu OLE DB-Eigenschaften, die Tabellenwertparameter unterstützen, finden Sie unter OLE DB-Unterstützung von Tabellenwertparametern (Eigenschaften).
Weitere Informationen
Tabellenwertparameter (OLE DB)
Verwenden von Tabellenwertparametern (OLE DB)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für