Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как правило, рассмотрите последствия использования SQLBindCol для преобразования данных. Преобразования привязки — это клиентские процессы, поэтому, например, получение значения с плавающей запятой, привязанного к символьным столбцам, приводит к тому, что драйвер выполняет преобразование с плавающей запятой к символам локально при получении строки. Функцию преобразования Transact-SQL можно использовать для размещения затрат на преобразование данных на сервере.
Экземпляр SQL Server может возвращать несколько наборов результирующих строк при выполнении одной инструкции. Каждый результирующий набор должен быть привязан отдельно. Дополнительные сведения о привязке для нескольких результирующих наборов см. в статье SQLMoreResults.
Разработчик может привязать столбцы к типам данных C, зависящим от SQL Server, с помощью значения SQL_C_BINARYTargetType. Столбцы, привязанные к типам SQL Server, не переносятся. Определенные типы данных ODBC для SQL Server соответствуют определениям типов для библиотеки СУБД, и DB-Library разработчики, переносящие приложения, могут воспользоваться этой функцией.
Усечение данных отчетов — это дорогостоящий процесс для драйвера ODBC собственного клиента SQL Server. Вы можете избежать усечения, убедившись, что все привязанные буферы данных достаточно широки для возврата данных. Для символьных данных ширина должна содержать пробел для строкового конца, если используется поведение драйвера по умолчанию для завершения строки. Например, привязка столбца SQL Server char(5) к массиву из пяти символов приводит к усечению каждого значения. Привязка того же столбца к массиву из шести символов позволяет избежать усечения путем предоставления символьного элемента, в котором хранится терминатор NULL. SQLGetData можно использовать для эффективного извлечения длинных символов и двоичных данных без усечения.
Для типов данных больших значений, если предоставленный пользователем буфер недостаточно велик для хранения всего значения столбца, SQL_SUCCESS_WITH_INFO возвращается и возвращается строка данных; Выдается предупреждение об усечении правого усечения. Аргумент StrLen_or_IndPtr будет содержать количество символов или байтов, хранящихся в буфере.
Поддержка SQLBindCol для расширенных функций даты и времени
Значения столбцов результатов типов даты и времени преобразуются, как описано в разделе "Преобразования из SQL в C". Обратите внимание, что для получения столбцов time и datetimeoffset в качестве соответствующих структур (SQL_SS_TIME2_STRUCT и SQL_SS_TIMESTAMPOFFSET_STRUCT), TargetType необходимо указать как SQL_C_DEFAULT или SQL_C_BINARY.
Дополнительные сведения см. в разделе "Улучшения даты и времени" (ODBC).
Поддержка SQLBindCol для больших определяемых пользователем пользователей среды CLR
SQLBindCol поддерживает большие определяемые пользователем типы CLR (определяемые пользователем UDT). Дополнительные сведения см. в разделе "Крупные определяемые пользователем типы CLR" (ODBC).
См. также
функция SQLBindCol
Подробные сведения о реализации API-интерфейсов ODBC