数据类型和 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)