Типы данных и удаленный доступ к данным
В следующих таблицах приведен перечень поддерживаемых типов данных и сопоставлений типов данных, а также перечень неподдерживаемых типов данных, которые можно использовать при доступе к данным в базе данных Microsoft SQL Server с помощью удаленного доступа к данным.
Поддерживаемые типы данных
Тип данных SQL Server | Тип данных SQL Server Compact 3.5 |
---|---|
bigint (int 8) |
bigint |
binary (n) |
binary (n) |
bit |
bit |
Character (n)(синоним:char (n)) |
national character (n) или ntext Если размер данных составляет 4000 символов или менее, удаленный доступ к данным сопоставляет данные SQL Server character с данными SQL Server Compact national character. В противном случае эти данные сопоставляются с данными SQL Server Compact ntext. Если размер данных типа ntext превышает размер столбца типа character, при принудительной отправке данных из базы данных SQL Server Compact в базу данных SQL Server возникает сбой. |
character varying (n|max) (синонимы:char varyingvarchar (n|max)) |
national character varying (n) или ntext Если размер данных составляет 4000 символов или менее, удаленный доступ к данным сопоставляет данные SQL Server character varying с данными SQL Server Compact national character varying. В противном случае эти данные сопоставляются данным SQL Server Compact ntext. Если размер данных типа character varying (max) превышает размер столбца ntext, при принудительной отправке данных из базы данных SQL Server в базу данных SQL Server Compact возникает сбой. |
date |
Значение типа nchar(10) в формате «ГГГГ-ММ-ДД»
Примечание.
SQL Server Compact хранит расширенные знаки. Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact с пакетом обновления 1 (SP1).
|
datetime |
datetime |
datetime2 |
Значение nvarchar(27) в формате «ГГГГ-ММ-ДД-чч:мм:сс.ннннннн»
Примечание.
SQL Server Compact хранит расширенные знаки. Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
datetimeoffset |
Значение nvarchar(34) в формате «ГГГГ-ММ-ДД-чч:мм:сс.ннннннн [+/-] чч:мм»
Примечание.
SQL Server Compact хранит расширенные знаки. Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
decimal |
Не поддерживается. Используйте тип numeric. |
double precision |
double precision |
float |
float |
filestream |
image
Примечание.
Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
geography |
image
Примечание.
Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
geometry |
image
Примечание.
Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
hierarchyid |
image
Примечание.
Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
image |
image |
integer(синоним:int) |
integer |
money |
money |
national character (n) (синоним: nchar (n)) |
national character (n) |
national character varying (n) |
national character varying (n) |
national character varying (max) (синоним: nvarchar (max)) |
ntext Если размер данных типа national character varying (max) превышает размер столбца типа ntext, при принудительной отправке данных из базы данных SQL Server в базу данных SQL Server Compact возникает сбой. |
ntext |
ntext |
numeric(синонимы: decimal dec) |
numeric |
real |
real |
smalldatetime |
datetime Если точность данных типа datetime превышает точность столбца типа smalldatetime, при отправке данных из базы данных SQL Server Compact в базу данных SQL Server происходит сбой синхронизации. |
smallint (int 2) |
smallint (int 2) |
smallmoney |
money Если точность данных типа money превышает точность столбца типа smallmoney, при отправке данных из базы данных SQL Server Compact в базу данных SQL Server происходит сбой синхронизации. |
text |
ntext Если размер данных типа text превышает 1 073 741 823 символа, при отправке данных из базы данных SQL Server в базу данных SQL Server Compact происходит сбой синхронизации. |
time |
Значение nvarchar(16) в формате «чч:мм:сс.ннннннн»
Примечание.
SQL Server Compact хранит расширенные знаки. Поддержка преобразования этого типа была предоставлена в версии SQL Server Compact 3.5 с пакетом обновления 1 (SP1).
|
tinyint |
tinyint |
uniqueidentifier |
uniqueidentifier |
varbinary (n) |
varbinary (n) |
varbinary (max) |
image Если размер данных типа varbinary (max) превышает размер столбца типа image, при отправке данных из базы данных SQL Server в базу данных SQL Server Compact происходит сбой синхронизации. |
XML |
ntext |
Неподдерживаемые типы данных
Тип данных | Пояснение |
---|---|
sql_variant, UTCDATETIME, UDT |
Не поддерживается Не включайте столбцы этого типа в метод RDA Pull. |
Использование типов данных
Если возможно, следует выбирать типы данных, которые поддерживаются как SQL Server, так и SQL Server Compact. При этом удаленный доступ к данным не должен будет выполнять сопоставление данных. Если это невозможно, убедитесь, что приложение выполняет проверку значений, сохраненных в базе данных SQL Server Compact, чтобы гарантировать, что удаленный доступ к данным сможет сопоставить значения SQL Server и SQL Server Compact.
Существующим приложениям, не поддерживавшим изначально типы date, datetime2, datetimeoffset и time, придется обрабатывать данные, сопоставленные с совместимыми типами данных, например nchar и nvarchar.
Не поддерживается запрос данных из таблиц с первичным ключом типа char или varchar длиной более 4000 символов. Столбцы этих типов, имеющие длину более 4000 символов, сопоставляются типу ntext, а для столбцов типа ntext создание первичного ключа невозможно.
Если в базе данных подписки SQL Server Compact какой-либо тип данных был сопоставлен с типом ntext, это сопоставление будет оставаться в силе, пока подписка не будет повторно инициализирована (даже если в SQL Server соответствующий тип будет изменен). Кроме того, если тип данных сопоставлен с типом ntext в SQL Server Compact, все индексы для этого типа данных SQL Server (например, nvarchar (MAX)) не учитываются и не создаются в SQL Server Compact.
См. также
Основные понятия
Другие ресурсы
Управляемое сопоставление типов данных (SQL Server Compact)
Справка и поддержка
Получение помощи (SQL Server Compact 3.5 с пакетом обновления 1)