Table-Valued Parametry (ODBC)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Obsługa parametrów tabelowych w ODBC pozwala aplikacji klienckiej efektywniej przesyłać dane parametryzowane do serwera, wysyłając wiele wierszy do serwera jednym wywołaniem.

Aby uzyskać informacje o parametrach tabelowych na serwerze, zobacz Użyj Table-Valued Parametrów (Database Engine).

W ODBC istnieją dwa sposoby przesyłania parametrów tabelowych do serwera:

  • Wszystkie dane parametrów tabelowych mogą znajdować się w pamięci w momencie wywołania SQLExecDirect lub SQLExecute. Dane te są przechowywane w tablicach, jeśli wartość tabeli zawiera wiele wierszy.

  • Aplikacja może określić dane przy wykonaniu parametru tabelowego, gdy wywołane jest SQLExecDirect lub SQLExecute. W takim przypadku wiersze danych dla wartości tabeli mogą być dostarczane partiami lub pojedynczo, aby zmniejszyć wymagania pamięciowe.

Pierwsza opcja umożliwia procedury przechowywane do enkapsulacji większej ilości logiki biznesowej. Na przykład pojedyncza procedura przechowywana może zahalić całą transakcję wprowadzania zamówienia, gdy elementy zamówienia są przekazywane jako parametr o wartości tabelowej. Ta opcja jest bardzo efektywna, ponieważ wystarczy jedna podróż w obie strony do serwera. Alternatywnie można użyć różnych procedur do obsługi nagłówka zamówienia i zadań osobno, co wymagałoby więcej kodu i bardziej złożonej umowy między klientem a serwerem.

Druga metoda zapewnia wydajny mechanizm operacji masowych przy bardzo dużych ilościach danych. Pozwala to aplikacji przesyłać wiersze danych na serwer bez konieczności buforowania ich wszystkich w pamięci.

Możesz tworzyć ograniczenia i klucze główne podczas tworzenia zmiennej tabeli. Ograniczenia są dobrym sposobem na zapewnienie, że dane w tabeli spełniają określone wymagania.

W tej Sekcji

Zastosowania Table-Valued parametrów ODBC
Opisuje główne scenariusze użytkownika dla parametrów tabelowych oraz ODBC.

ODBC SQL Type for Table-Valued Parameters
Opisuje SQL_SS_TABLE typ. Jest to nowy typ SQL ODBC, który obsługuje parametry tabelowe.

Table-Valued Pola deskryptorów parametrów
Opisuje pola deskryptorów obsługujące parametry tabelowe.

Pola deskryptorów dla kolumn Table-Valued parametrów
Opisuje pola deskryptoru, które mają znaczenie dla parametrów tabelowych.

Table-Valued Pola rekordu diagnostycznego parametrów
Opisuje dwa pola diagnostyczne dodane do rekordów diagnostycznych, aby wspierać parametry tabelowe.

Atrybuty zdań wpływające na Table-Valued parametry
Opisuje nowe pole nagłówka deskryptoru, które umożliwia adresowanie kolumn parametrów o wartości tabelowej.

Wiązanie i przesyłanie danych parametrów Table-Valued i wartości kolumnowych
Opisuje powiązanie parametrów oraz sposób przekazywania parametru o wartości tabelowej serwerowi.

Table-Valued Metadane parametrów przygotowanych instrukcji
Opisuje, jak aplikacja może uzyskać metadane dla przygotowanego wywołania procedury.

Dodatkowe metadane Table-Valued parametrów
Opisuje, jak używać SQLProcedureColumns, SQLTables i SQLColumns do pobierania metadanych dla parametru tabelowego.

Table-Valued konwersja danych parametrów oraz inne błędy i ostrzeżenia
Opisuje, jak przetwarzać błędy dotyczące wartości kolumnowych parametrów tabelowych.

Kompatybilność między wersjami
Opisuje konflikty, które mogą wystąpić, gdy klient lub serwer wersji starszej niż SQL Server 2008 (10.0.x) używa parametrów tabelowych.

Podsumowanie API Table-Valued parametrów ODBC
Lista funkcji ODBC obsługujących parametry tabelowe.