数据类型和 RDA

对于通过远程数据访问 (RDA) 来访问 Microsoft SQL Server 数据库中的数据,下表显示了支持的数据类型和数据类型映射以及不支持的数据类型。

支持的数据类型

SQL Server 数据类型 SQL Server Compact Edition 数据类型

bigint (int 8)

bigint

binary (n)

binary (n)

bit

bit

Character (n)(同义词:char (n))

national character (n) 或 ntext

如果数据长度是 4000 个字符或更少,则 RDA 将 SQL Server character 数据映射到 SQL Server 2005 Compact Edition (SQL Server Compact Edition) national character。否则,将数据映射到 SQL Server Compact Edition ntext。

如果 ntext 数据的长度超过字符列的长度,那么当数据从 SQL Server Compact Edition 发送到 SQL Server 时推送会失败。

character varying (n|max) (同义词:char varyingvarchar (n|max))

national character varying (n) 或 ntext

如果数据的长度为 4000 个字符或更少,则 RDA 将 SQL Server character varying 数据映射到 SQL Server Compact Edition national character varying;否则将其映射到 SQL Server Compact Edition ntext。

如果 character varying (max) 数据的长度超过 ntext 列的长度,那么当数据从 SQL Server 发送到 SQL Server Compact Edition 时推送会失败。

datetime

datetime

decimal

不支持。请使用 numeric。

double precision

double precision

float

float

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 Edition 时推送会失败。

ntext

ntext

numeric(同义词:decimal、dec)

numeric

real

real

smalldatetime

datetime

如果 datetime 数据的精度超过 smalldatetime 列的精度,那么当数据从 SQL Server Compact Edition 发送到 SQL Server 时同步会失败。

smallint (int 2)

smallint (int 2)

smallmoney

money

如果 money 数据的精度超过 smallmoney 列的精度,那么当数据从 SQL Server Compact Edition 发送到 SQL Server 时同步会失败。

sql_variant

RDA 不支持

text

ntext

如果 text 数据的长度超过 1,073,741,823 个字符,那么当数据从 SQL Server 发送到 SQL Server Compact Edition 时同步会失败。

tinyint

tinyint

uniqueidentifier

uniqueidentifier

varbinary (n)

varbinary (n)

varbinary (max)

image

如果 varbinary (max) 数据的长度超过 image 列的长度,那么当数据从 SQL Server 发送到 SQL Server Compact Edition 时同步会失败。

XML

ntext

不支持的数据类型

数据类型 说明

sql_variant, DATE, TIME, UTCDATETIME, FILESTREAM, UDT

不支持

不要将此数据类型的列包括在 RDA Pull 方法中。

使用数据类型

如果可能,请选择 SQL Server 和 SQL Server Compact Edition 都支持的数据类型。这样,RDA 就不必执行数据映射。如果这是不可能的,请确保您的应用程序验证 SQL Server Compact Edition 中存储的值,以确保 RDA 可以在 SQL Server 和 SQL Server Compact Edition 之间映射这些值。

不能从主键类型为 char 或 varchar 且长度大于 4000 个字符的表请求数据。长度大于 4000 个字符的这些列类型将映射为 ntext,并且无法在 ntext 列上创建主键。

在 SQL Server Compact Edition 订阅数据库中将数据类型映射为 ntext 之后,在重新初始化订阅之前该数据类型将一直是 ntext,即使该类型在 SQL Server 中发生更改。此外,如果在 SQL Server Compact Edition 中将数据类型映射为 ntext,则 SQL Server 数据类型上的任何索引(如 nvarchar (MAX))都将被忽略,并且不会在 SQL Server Compact Edition 中创建。

请参阅

概念

数据类型和复制

其他资源

数据类型映射 (SQL Server Compact Edition)

帮助和信息

获取 SQL Server Compact Edition 帮助