Поделиться через


SQLSetDescRec

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

В этом разделе рассматриваются функции SQLSetDescRec, относящиеся к собственному клиенту SQL Server.

Функция SQLSetDescRec и параметры, возвращающие табличное значение

SQLSetDescRec можно использовать для задания полей дескриптора для параметров с табличным значением и столбцов возвращаемых табличным значением параметров. Столбцы возвращающих табличное значение параметров доступны только в том случае, когда в поле заголовка дескриптора SQL_SOPT_SS_PARAM_FOCUS задан порядковый номер записи, имеющей тип SQL_DESC_TYPE со значением SQL_SS_TABLE. Дополнительные сведения об атрибуте SQL_SOPT_SS_PARAM_FOCUS см. в разделе SQLSetStmtAttr.

В следующей таблице показано сопоставление между параметрами и полями дескриптора.

Параметр Связанный атрибут для типов параметров, отличных от табличного значения, включая столбцы параметров с табличным значением Связанные атрибуты для возвращающих табличное значение параметров
Тип SQL_DESC_TYPE SQL_SS_TABLE
Подтип Пропущено Для записей типа SQL_DATETIME и SQL_INTERVAL этот атрибут должен иметь значение SQL_DESC_DATETIME_INTERVAL_CODE.
Длина SQL_DESC_OCTET_LENGTH Длина имени типа параметра, возвращающего табличное значение. Значение может быть равно SQL_NTS, если имя типа представляет собой строку, завершающуюся нулевым символом, или 0, если имя типа параметра, возвращающего табличное значение, не требуется.
Точность SQL_DESC_PRECISION SQL_DESC_ARRAY_SIZE
Масштаб SQL_DESC_SCALE Не используется. Значение этого параметра должно быть равно 0.
DataPtr SQL_DESC_DATA_PTR в APD SQL_CA_SS_TYPE_NAME

Этот параметр не является обязательным для вызова хранимых процедур; если он не требуется, можно задать значение NULL. Параметр должен быть задан для инструкций SQL, не являющихся вызовами процедур.

DataPtr также служит уникальным значением, которое приложение может использовать для идентификации этого табличного параметра при использовании привязки строк переменной.
StringLengthPtr SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTR

Для параметра, возвращающего табличное значение, этот параметр равен числу строк для переноса или значению SQL_DATA_AT_EXEC. Это указатель на значение, которое содержит количество строк для передачи с помощью SQLExecDirect.
ИндикаторPtr SQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTR

Дополнительные сведения о табличном значении параметров см. в разделе "Параметры с табличным значением" (ODBC).

Поддержка методом SQLSetDescRec улучшенных функций даты и времени

Для типов даты и времени допускаются следующие значения.

Атрибут Тип Подтип Длина Точность Масштаб
datetime 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
Время 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

Дополнительные сведения см. в разделе "Улучшения даты и времени" (ODBC).

Поддержка методом SQLSetDescRec больших определяемых пользователем типов в среде CLR

SQLSetDescRec поддерживает большие определяемые пользователем типы CLR (UDTs). Дополнительные сведения см. в разделе "Крупные определяемые пользователем типы CLR" (ODBC).

См. также

SQLSetDescRec
Подробные сведения о реализации API-интерфейсов ODBC