Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Идентификаторы двоичных типов данных ODBC SQL:
SQL_BINARY
SQL_VARBINARY
SQL_LONGVARBINARY
В следующей таблице показаны типы данных ODBC C, в которые могут быть преобразованы двоичные данные SQL. Описание столбцов и терминов в таблице см. в разделе "Преобразование данных из SQL в типы данных C".
| Идентификатор типа C | Тест | *TargetValuePtr | *StrLen_or_IndPtr | SQLSTATE |
|---|---|---|---|---|
| SQL_C_CHAR | (Длина байтов данных) * 2 <BufferLength (Длина байтов данных) * 2 >= BufferLength |
Data Усеченные данные |
Длина данных в байтах Длина данных в байтах |
Недоступно 01004 |
| SQL_C_WCHAR | (Длина символов данных) * 2 <BufferLength (Длина символов данных) * 2 >= BufferLength |
Data Усеченные данные |
Длина данных в символах Длина данных в символах |
Недоступно 01004 |
| SQL_C_BINARY | Длина байтов данных <= BufferLength Длина байтов данных >BufferLength |
Data Усеченные данные |
Длина данных в байтах Длина данных в байтах |
Недоступно 01004 |
При преобразовании двоичных данных SQL в символьные данные C каждый байт (8 бит) исходных данных представлен как два символа ASCII. Эти символы представляют собой символьное представление числа в шестнадцатеричной форме. Например, двоичный 00000001 преобразуется в "01", а двоичный 11111111 преобразуется в "FF".
Драйвер всегда преобразует отдельные байты в пары шестнадцатеричных цифр и завершает строку символа с байтом NULL. Из-за этого, если BufferLength даже и меньше длины преобразованных данных, последний байт буфера *TargetValuePtr не используется. (Для преобразованных данных требуется четное число байтов, следующее к последнему байту — null байт, а последний байт нельзя использовать.)
Заметка
Разработчикам приложений не рекомендуется привязывать двоичные данные SQL к типу данных C символа C. Это преобразование обычно неэффективно и медленно.