OLE DB-Unterstützung von Tabellenwertparameter-Typen (Methoden)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Azure Synapse Analytics Analytics
Platform System (PDW)
Die folgenden Standard-OLE DB-Methoden unterstützen Tabellenwertparameter:
Methode | Tabellenwertparameter-Unterstützung |
---|---|
ITableDefinitionWithConstraints::CreateTableWithConstraints | Wird verwendet, wenn Sie den Typ des Tabellenwertparameters kennen und ein Tabellenwertparameter-Rowsetobjekt anhand der Typinformation instanziieren möchten. Weitere Informationen finden Sie unter „Statisches Szenario“ im Artikel Rowsetobjekte für Tabellenwertparameter. |
IOpenRowset::OpenRowset | Wird verwendet, wenn Sie den Typ eines Tabellenwertparameters nicht kennen und ein Tabellenwertparameter-Rowsetobjekt anhand der vom Server abgerufenen Metadateninformationen instanziieren möchten. Weitere Informationen finden Sie unter „Dynamisches Szenario“ im Artikel Rowsetobjekte für Tabellenwertparameter. |
ISSCommandWithParameters::SetParameterInfo | Zur Bezeichnung eines Tabellenwert-Befehlsparameters gibt der Consumer im pwszName-Element der DBPARAMBINDINFO-Struktur den Typ des Parameters als „table“ oder DBTYPE_TABLE an. ulParamSize ist auf ~0 festgelegt. Weitere Informationen finden Sie unter „Tabellenwertparameter-Spezifikation“ im Artikel Ausführen von Befehlen, die Tabellenwertparameter enthalten. |
ISSCommandWithParameters::SetParameterProperties | Legt spezielle Eigenschaften für Tabellenwertparameter fest, z. B. Schemaname, Typname, Spaltenreihenfolge und Standardspalten. Der Consumer gibt die Ordnungszahl des Parameterwerts unter iOrdinal in der SSPARAMPROPS-Struktur an. Die angeforderte Eigenschaftengruppe ist DBPROPSET_SQLSERVERPARAMETER. |
ISSCommandWithParameters::GetParameterInfo | Ruft die Typen aller Parameter zu einem angegebenen Befehl ab. Für Tabellenwertparameter verfügt das wType-Feld in der DBPARAMINFO-Struktur über den Typ DBTYPE_TABLE. Das ulParamSize-Feld wird auf ~0 festgelegt, um anzugeben, dass die Länge unbekannt ist. |
ISSCommandWithParameters::GetParameterProperties | Ruft weitere Typinformationen für Parameter des DBTYPE_TABLE-Typs ab. Der Consumer gibt die Ordnungszahl des Parameterwerts im iOrdinal-Element der SSPARAMPROPS-Struktur an. Der Consumer kann beliebige Eigenschaften der DBPROPSET_SQLSERVERPARAMETER-Eigenschaftengruppe anfordern, die unter ISSCommandWithParameters::SetParameterProperties aufgeführt sind. Da der Consumer den Tabellenwertparameter-Typ nicht kennt, muss der Anbieter für SSPROP_PARAM_TYPE_TYPENAME, SSPROP_PARAM_TYPE_SCHEMANAME und SSPROP_PARAM_TYPE_CATALOGNAME die korrekten Werte festlegen. Die übrigen Eigenschaften, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS und SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER, behalten ihre Standardwerte. Nachdem der Consumer den Tabellenwertparameter-Typnamen erkannt hat, erstellt er mithilfe von IOpenRowset::OpenRowset eine Instanz dieses Tabellenwertparameters. Dabei wird der Name des Tabellenwertparameter-Typs angegeben. Weitere Informationen finden Sie unter Tabellenwertparameter-Typermittlung. |
IRowsetInfo::GetProperties | Ruft Tabellenwertparameter-Rowseteigenschaften ab. Der Consumer kann diese Eigenschaften verwenden, um Bindungen optimal einzurichten. |
IColumnsRowset::GetColumnsRowset | Ruft Metadateninformationen zu einer SQL Server-Tabelle ab. Für Tabellenwertparameter stellt diese Schnittstelle ausführliche Metadateninformationen über jede Spalte bereit, darunter: DBCOLUMN_FLAGS gibt die NULL-Zulässigkeit durch das DBCOLUMNFLAGS_ISNULLABLE-Bit an. DBCOLUMN_ISUNIQUE gibt an, ob es sich bei der Spalte um eine Identitätsspalte handelt. DBCOLUMN_COMPUTEMODE gibt an, ob die Spalte berechnet wird. |
IAccessor::CreateAccessor | Um ein Tabellenwertparameter-Rowsetobjekt an einen Befehlsparameter zu binden, erstellen Sie einen Accessor. Für das wType-Element wird dabei DBTYPE_TABLE festgelegt. Die DBOBJECT-Struktur enthält IID_IRowset oder eine beliebige andere gültige Rowsetobjekt-Schnittstelle im iid-Element. Die übrigen Felder werden ähnlich behandelt wie DBTYPE_IUNKNOWN. |
Weitere Informationen
OLE DB-Typunterstützung für Tabellenwertparameter
Tabellenwertparameter-Rowseterstellung
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