Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для выполняемых инструкций драйвер ODBC собственного клиента SQL Server не должен запрашивать сервер для описания столбцов в результирующем наборе. В этом случае SQLDescribeCol не вызывает циклический обход сервера. Как и SQLColAttribute, вызов SQLDescribeCol подготовленных, но не выполненных инструкций создает циклический обход сервера.
Если инструкция или пакет инструкции Transact-SQL возвращает несколько наборов результирующих строк, то столбец, на который ссылается порядковый номер, можно получить в отдельной таблице или ссылаться на совершенно другой столбец в результирующем наборе.
SQLDescribeCol должен вызываться для каждого набора. Когда результирующий набор изменяется, приложение должно повторно привязать значения данных перед получением результатов строки. Дополнительные сведения об обработке нескольких результирующих наборов см. в разделе SQLMoreResults.
Атрибуты столбцов передаются только для первого результирующий набор, если несколько результирующих наборов создаются подготовленным пакетом инструкций SQL.
Для типов данных больших значений значение, возвращаемое в DataTypePtr , SQL_VARCHAR, SQL_VARBINARY или SQL_NVARCHAR. Значение SQL_SS_LENGTH_UNLIMITED в ColumnSizePtr указывает, что размер является неограниченным.
Улучшения ядра СУБД, начиная с SQL Server 2012, позволяют SQLDescribeCol получать более точные описания ожидаемых результатов. Эти более точные результаты могут отличаться от значений, возвращаемых SQLDescribeCol в предыдущих версиях SQL Server. Дополнительные сведения см. в разделе "Обнаружение метаданных".
Поддержка SQLDescribeCol для расширенных функций даты и времени
Для типов даты-времени возвращаются следующие значения.
| DataTypePtr | ColumnSizePtr | DecimalDigitsPtr | |
|---|---|---|---|
| дата/время | SQL_TYPE_TIMESTAMP | двадцать три | 3 |
| smalldatetime | SQL_TYPE_TIMESTAMP | 16 | 0 |
| дата | SQL_TYPE_DATE | 10 | 0 |
| Время | SQL_SS_TIME2 | 8, 10..16 | 0..7 |
| дата-время2 | SQL_TYPE_TIMESTAMP | 19, 21..27 | 0..7 |
| смещение даты и времени | SQL_SS_TIMESTAMPOFFSET | 26, 28..34 | 0..7 |
Дополнительные сведения см. в разделе "Улучшения даты и времени" (ODBC).
Поддержка SQLDescribeCol для больших определяемых пользователем пользователей среды CLR
SQLDescribeCol поддерживает большие определяемые пользователем типы СРЕДЫ CLR (определяемые пользователем UDT). Дополнительные сведения см. в разделе "Крупные определяемые пользователем типы CLR" (ODBC).
См. также
Функция SQLDescribeCol
Подробные сведения о реализации API-интерфейсов ODBC