SQLSetDescRec

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

Ten temat omawia funkcjonalność SQLSetDescRec specyficzną dla natywnego klienta SQL Server.

SQLSetDescRec i parametry Table-Valued

SQLSetDescRec może być używany do ustawiania pól deskryptorowych dla parametrów tabelowych oraz kolumn parametrów tabelowych. Kolumny parametrów tabelowych są dostępne tylko wtedy, gdy pole nagłówka deskryptora SQL_SOPT_SS_PARAM_FOCUS jest ustawione na porządkowe dane rekordu, który ma SQL_DESC_TYPE ustawione na SQL_SS_TABLE. Więcej informacji o SQL_SOPT_SS_PARAM_FOCUS można znaleźć w SQLSetStmtAttr.

Poniższa tabela opisuje odwzorowanie parametrów i pól deskryptoru.

Parameter Powiązany atrybut dla typów parametrów nietabelowych, w tym kolumn parametrów tabelowych Powiązany atrybut dla parametrów tabelowych
Type SQL_DESC_TYPE SQL_SS_TABLE
Podtyp Ignored Dla rejestrów typu SQL_DATETIME lub SQL_INTERVAL ustaw to na SQL_DESC_DATETIME_INTERVAL_CODE.
Długość SQL_DESC_OCTET_LENGTH Długość nazwy typu parametru o wartości tabelowej. Może to być SQL_NTS, jeśli nazwa typu jest zakończona jako null, lub zerowa, jeśli nie jest wymagana nazwa typu parametru o wartości tabelowej.
Precyzja SQL_DESC_PRECISION SQL_DESC_ARRAY_SIZE
Scale SQL_DESC_SCALE Unused. Ten parametr powinien być równy zerowi.
DataPtr SQL_DESC_DATA_PTR w APD SQL_CA_SS_TYPE_NAME

Ten parametr jest opcjonalny dla wywołań procedur przechowywanych, a NULL można określić, jeśli nie jest wymagany. Ten parametr musi być określony dla instrukcji SQL, które nie są wywołaniami procedur.

DataPtr służy również jako unikalna wartość, którą aplikacja może wykorzystać do identyfikacji tego parametru tabelowego podczas stosowania zmiennego wiązania wierszy.
StringLengthPtr SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTR

Dla parametru tabelowego jest to liczba wierszy do przeniesienia lub SQL_DATA_AT_EXEC. Jest to wskaźnik do wartości, która zawiera liczbę wierszy do przeniesienia za pomocą SQLExecDirect.
IndicatorPtr SQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTR

Więcej informacji o parametrach tabelowych można znaleźć w Table-Valued Parameters (ODBC).

Wsparcie SQLSetDescRec dla ulepszonych funkcji dat i godzin

Dozwolone wartości dla typów dat/godzin są następujące:

Attribute Type Podtyp Długość Precyzja Scale
data/godzina SQL_DATETIME SQL_CODE_TIMESTAMP 4 3 3
smalldatetime SQL_SQL_DATETIME SQL_CODE_TIMESTAMP 8 0 0
date SQL_DATETIME SQL_CODE_DATE 6 0 0
time SQL_SS_TIME2 0 10 0..7 0..7
datetime2 SQL_DATETIME SQL_CODE_TIMESTAMP 16 0..7 0..7
datetimeoffset SQL_SS_TIMESTAMPOFFSET 0 20 0..7 0..7

Aby uzyskać więcej informacji, zobacz ulepszenia daty i godziny (ODBC).

Obsługa SQLSetDescRec dla dużych CLR UDT

SQLSetDescRec obsługuje duże typy CLR zdefiniowane przez użytkownika (UDT). Aby uzyskać więcej informacji, zobacz large CLR User-Defined Types (ODBC).