SQLDescribeCol
Для выполненных инструкций драйверу ODBC собственного клиента SQL Server не требуется опрашивать сервер для описания столбцов результирующего набора. В этом случае SQLDescribeCol не вызывает обращение к серверу. Как SQLColAttributeиSQLNumResultCols, вызов SQLDescribeCol для подготовленных, но не выполненных инструкций сформирует обращение к серверу.
Когда инструкция Transact-SQL или пакет инструкций возвращает несколько результирующих наборов строк, то столбец, на который ссылается исходный столбец, можно создать в отдельной таблице или сослаться на абсолютно другой столбец результирующего набора. SQLDescribeCol должен вызываться для каждого набора. При изменении результирующего набора приложение должно осуществить повторную привязку значений данных перед выборкой результатов строк. Дополнительные сведения об обработке запросов, возвращающих несколько результирующих наборов, см. в разделе SQLMoreResults.
Драйвер ODBC собственного клиента SQL Server использует инструкцию SET FMTONLY для снижения нагрузки на сервер при вызове SQLDescribeCol для подготовленных, но не выполненных инструкций. Когда несколько результирующих наборов формируется подготовленным пакетом инструкций SQL, атрибуты столбцов сообщаются только для первого результирующего набора.
Для типов данных больших значений, возвращаемым в DataTypePtr значением является SQL_VARCHAR, SQL_VARBINARY, или SQL_NVARCHAR. Значение SQL_SS_LENGTH_UNLIMITED в ColumnSizePtr указывает, что размер «неограничен».
Поддержка SQLDescribeCol новых возможностей даты-времени
Для типов даты-времени возвращаются следующие значения.
DataTypePtr |
ColumnSizePtr |
DecimalDigitsPtr |
|
---|---|---|---|
datetime; |
SQL_TYPE_TIMESTAMP |
23 |
3 |
smalldatetime; |
SQL_TYPE_TIMESTAMP |
16 |
0 |
date; |
SQL_TYPE_DATE |
10 |
0 |
time; |
SQL_SS_TIME2 |
8, 10..16 |
0..7 |
datetime2; |
SQL_TYPE_TIMESTAMP |
19, 21..27 |
0..7 |
datetimeoffset; |
SQL_SS_TIMESTAMPOFFSET |
26, 28..34 |
0..7 |
Дополнительные сведения см. в разделе Улучшенная обработка даты и времени (ODBC).
Поддержка SQLDescribeCol определяемых пользователем типов больших данных CLR
SQLDescribeCol поддерживает определяемые пользователем типы больших данных CLR. Дополнительные сведения см. в разделе Определяемые пользователем типы данных больших значений CLR (ODBC).
См. также