Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В драйвере ODBC для собственного клиента SQL Server и в SQL Server типы данных используются следующим образом.
Тип данных |
Ограничение |
||
|---|---|---|---|
Литералы даты |
Литералы даты при помещении в столбец SQL_TYPE_TIMESTAMP (типы данных SQL Server datetime или smalldatetime) имеют значение времени 12:00:00.000. |
||
money и smallmoney |
Имеют значение только целочисленные части типов данных money и smallmoney. Если десятичная часть данных SQL money усекается в процессе преобразования данных, то драйвер ODBC для собственного клиента SQL Server возвращает предупреждение, а не ошибку. |
||
SQL_BINARY (допускающий значения NULL) |
Если столбец SQL_BINARY допускает значения NULL, при подключении к экземпляру SQL Server версии 6.0 или более ранней данные, помещенные в источник данных, не заполняются нулями. При получении данных из таких столбцов драйвер ODBC для собственного клиента SQL Server заполняет их нулями справа. Однако данные, которые создаются в операциях, выполняемых SQL Server (например объединении), не имеют такого заполнения. Также при помещении данных в такие столбцы в экземпляре SQL Server версии 6.0 или более ранней SQL Server усекает данные справа, если их длина слишком большая, чтобы поместиться в столбец.
|
||
SQL_CHAR (усечение) |
Если при подключении к экземпляру SQL Server 6.0 или более ранней версии данные помещаются в столбец SQL_CHAR, SQL Server усекает их справа, не выдавая предупреждения, если их длина слишком большая, чтобы поместиться в столбец.
|
||
SQL_CHAR (допускающий значения NULL) |
Если столбец SQL_CHAR допускает значения NULL, при подключении к экземпляру SQL Server версии 6.0 или более ранней данные, данные, сохраненные в источник данных, не дополняются пробелами. При получении данных из таких столбцов драйвер ODBC для собственного клиента SQL Server заполняет их пустыми полями справа. Однако данные, которые создаются в операциях, выполняемых SQL Server (например объединении), не имеют такого заполнения.
|
||
SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_WLONGVARCHAR |
При подключении к экземпляру SQL Server 6.x или более поздней версии полностью поддерживаются обновления столбцов с типами данных SQL_LONGVARBINARY, SQL_LONGVARCHAR или SQL_WLONGVARCHAR (с использованием предложения WHERE), затрагивающие несколько строк. При подключении к экземпляру SQL Server 4.2x возвращается ошибка «Частичная вставка или обновление. Вставка или обновление столбца text или image не завершено», если обновление затрагивает более одной строки.
|
||
Параметры строковых функций |
Параметры string_exp строковых функций должны иметь тип данных SQL_CHAR или SQL_VARCHAR. Типы данных SQL_LONG_VARCHAR не поддерживаются в строковых функциях. Параметр count должен быть меньше или равен 8000, так как типы данных SQL_CHAR и SQL_VARCHAR ограничены максимальной длиной в 8000 символов. |
||
Литералы времени |
Литералы времени при сохранении в столбец SQL_TIMESTAMP (типы данных SQL Server datetime или smalldatetime) имеют значение даты «1 января 1900». |
||
timestamp |
Вручную в столбец timestamp может быть вставлено только значение NULL. Однако, так как столбцы timestamp автоматически обновляются SQL Server, то значение NULL перезаписывается. |
||
tinyint |
Тип данных SQL Server tinyint является беззнаковым. Столбец tinyint по умолчанию привязывается к переменной типа данных SQL_C_UTINYINT. |
||
Псевдонимы типов данных |
При подключении к экземпляру SQL Server 4.2x драйвер ODBC добавляет значение NULL в определение столбца, в котором явно не указана допустимость значений NULL. Поэтому допустимость значений NULL, помещенная в определение псевдонима типа данных, не учитывается. При подключении к экземпляру SQL Server 4.2x столбцы с псевдонимом типа данных, который имеет базовый тип данных char или binary и для которого не декларирована допустимость значений NULL, создаются с типом данных varchar или varbinary. Функции SQLColAttribute, SQLColumns и SQLDescribeCol возвращают SQL_VARCHAR и SQL_VARBINARY в качестве типа данных для этих столбцов. Данные, полученные из этих столбцов, не заполнены.
|
||
Типы данных большой длины |
Параметры с данными времени выполнения ограничены для обоих типов данных SQL_LONGVARBINARY и SQL_LONGVARCHAR. |
||
Типы больших значений |
Драйвер ODBC для собственного клиента SQL Server предоставит типы varchar(max), varbinary(max) и nvarchar(max) в виде SQL_VARCHAR, SQL_VARBINARY и SQL_WVARCHAR (соответственно) в API-интерфейсах, которые принимают или возвращают типы данных ODBC SQL. |
||
Определяемый пользователем тип |
Столбцы определяемого пользователем типа преобразуются в тип данных SQL_SS_UDT. Если столбец определяемого пользователем типа явно сопоставлен с другим типом в инструкции SQL с помощью методов ToString() или ToXMLString() определяемого пользователем типа или с помощью функций CAST/CONVERT, то тип столбца в результирующем наборе будет отражать реальный тип, к которому столбец был преобразован. Драйвер ODBC для собственного клиента SQL Server может только привязать столбец определяемого пользователем типа как двоичный тип. SQL Server поддерживает преобразование только между типами данных SQL_SS_UDT и SQL_C_BINARY. |
||
XML |
SQL Server автоматически преобразует XML в текст Юникода. Тип XML преобразуется в SQL_SS_XML. |
Примечание