Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
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)