Tabellenwertparameter (ODBC)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Die ODBC-Unterstützung für Tabellenwertparameter ermöglicht einer Clientanwendung die effizientere Versendung von parametrisierten Daten an einen Server, indem mehrere Zeilen über einen Aufruf an den Server gesendet werden.

Informationen zu Tabellenwertparametern auf dem Server finden Sie unter Verwenden Table-Valued-Parameter (Datenbank-Engine).

In ODBC gibt es zwei Methoden zum Versenden von Tabellenwertparametern an den Server:

  • Alle Tabellenwertparameterdaten können sich zum Zeitpunkt des Aufrufs von SQLExecDirect oder SQLExecute im Arbeitsspeicher befinden. Wenn es mehrere Zeilen im Tabellenwert gibt, werden diese Daten in Arrays gespeichert.

  • Eine Anwendung kann data-at-execution für einen Tabellenwertparameter angeben, wenn SQLExecDirect oder SQLExecute aufgerufen wird. In diesem Fall können Datenzeilen für den Tabellenwertparameter in Batches oder einzeln bereitgestellt werden, um die Speicheranforderungen zu reduzieren.

Die erste Option aktiviert gespeicherte Prozeduren, um mehr Geschäftslogik zu kapseln. Beispielsweise könnte eine einzeln gespeicherte Prozedur eine gesamte Bestellungseingabetransaktion kapseln, wenn die Bestellartikel als Tabellenwertparameter übergeben werden. Diese Option ist sehr effizient, da nur ein einzelner Roundtrip zum Server erforderlich ist. Alternativ könnten Sie verschiedene Prozeduren verwenden, um die Bestellungskopfzeile und die Bestellartikel separat zu behandeln. In diesem Fall wäre jedoch weiterer Code und ein komplexerer Vertrag zwischen Client und Server erforderlich.

Die zweite Methode stellt einen effizienten Mechanismus für Massenvorgänge mit sehr großen Datenmengen bereit. Dies ermöglicht es einer Anwendung, Datenzeilen zum Server zu streamen, ohne sie zuvor alle im Arbeitsspeicher puffern zu müssen.

Beim Erstellen der Tabellenvariablen können Sie Einschränkungen und Primärschlüssel erstellen. Einschränkungen sind eine gute Möglichkeit, um sicherzustellen, dass die Daten in einer Tabelle bestimmte Anforderungen erfüllen.

In diesem Abschnitt

Verwendungen von ODBC-Tabellenwertparametern
Beschreibt die wichtigsten Benutzerszenarien für Tabellenwertparameter und ODBC.

ODBC-SQL-Typ für Tabellenwertparameter
Beschreibt den SQL_SS_TABLE-Typ. Dies ist ein neuer ODBC SQL-Typ, der Tabellenwertparameter unterstützt.

Deskriptorfelder für Tabellenwertparameter
Beschreibt Deskriptorfelder, die Tabellenwertparameter unterstützen.

Deskriptorfelder für aus Tabellenwertparameter bestehenden Spalten
Beschreibt Deskriptorfelder, die eine Bedeutung für Tabellenwertparameter haben.

Diagnosedatensatz-Felder für Tabellenwertparameter
Beschreibt zwei Diagnosefelder, die Diagnosedatensätzen hinzugefügt wurden, um Tabellenwertparameter zu unterstützen.

Anweisungsattribute, die sich auf Tabellenwertparameter auswirken
Beschreibt ein neues Deskriptorheaderfeld, das die Adressierung von Tabellenwertparameter-Spalten ermöglicht.

Bindung und Datenübertragung von Tabellenwertparametern und Spaltenwerten
Beschreibt die Parameterbindung und die Übergabe eines Tabellenwertparameters an den Server.

Tabellenwertparameter-Metadaten für vorbereitete Anweisungen
Beschreibt, wie eine Anwendung Metadaten für einen vorbereiteten Prozeduraufruf abrufen kann.

Zusätzliche Tabellenwertparameter-Metadaten
Beschreibt die Verwendung von SQLProcedureColumns, SQLTables und SQLColumns zum Abrufen von Metadaten für einen Tabellenwertparameter.

Tabellenwertparameter-Datenkonvertierung und andere Fehler und Warnungen
Beschreibt, wie Fehler in Tabellenwertparameter-Spaltenwerten verarbeitet werden.

Versionsübergreifende Kompatibilität
Beschreibt Konflikte, die auftreten können, wenn Tabellenwertparameter von einem Client oder Server einer Version vor SQL Server 2008 (10.0.x) verwendet werden.

Zusammenfassung der ODBC-Tabellenwertparameter-API
Listet die ODBC-Funktionen auf, die Tabellenwertparameter unterstützen.

Weitere Informationen

SQL Server Native Client (ODBC)
Tabellenwertparameter (SQL Server Native Client)