SQL Server Compact Edition 的数据访问接口
System.Data.SqlServerCe 命名空间提供了从运行在支持的设备上的托管应用程序中对 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 数据库进行编程访问的能力。System.Data.SqlServerCe 提供的一组类可专门用于显示 SQL Server Compact Edition 功能。若要查看此命名空间中的类列表,请参阅 System.Data.SqlServerCe 命名空间对象。有关此命名空间中类的详细信息,请参阅 SQL Server Compact Edition .NET 编程。
支持的功能
System.Data.SqlServerCe 命名空间提供了以下功能:
- 对 SQL Server Compact Edition 数据源的一致访问。
共享数据的客户应用程序可以使用 SQL Server Compact Edition 数据访问接口来连接到 SQL Server Compact Edition 数据源,然后检索、处理和更新数据。 - 用于连接数据库、执行命令和检索结果的组件。
检索结果可以直接进行处理,或者放在要向用户显示的 ADO.NET DataSet 或 ResultSet 对象中,也可以与来自多个数据源的数据进行组合,或在层间远程传播。 - 面向编写托管代码的开发人员的功能。
该功能与 ADO 提供给本机 COM 开发人员的功能类似。 - 用于优化性能的索引功能。
SqlCeCommand.SetRange 限制通过调用 SqlCeDataReader.Read 和 SqlCeDataReader.Seek 显示行集项。SqlCeDataReader.Seek 允许直接在当前范围内定位键值。 - 通过 SqlCeReplication 和 SqlCeRemoteDataAccess 类与 SQL Server Compact Edition 复制和远程数据访问 (RDA) 对象交互时所需的接口。
- 用于启用数据库创建和压缩的 SqlCeEngine 类方法。
- 数据库加密和密码保护。
访问接口限制
SQL Server Compact Edition 的数据访问接口具有以下限制:
不支持批查询。查询必须是单个 SQL 语句。例如,下面的语句是有效的:
SELECT * FROM Customers
以下语句是无效的:
SELECT * FROM Customers; SELECT * FROM Customers2
必须从 SqlCeDataAdapter 刷新数据集。如果正在使用来自 Visual Studio 2005 项目的代码,则必须修改 SQL 语句以遵守此限制。
不支持嵌套事务,但支持并行事务。
当前 SQL Server Compact Edition 并未针对网站数据库用途进行优化。默认情况下,在 SQL Server Compact Edition 中阻塞了来自 ASP.NET 连接的应用程序的连接。SQL Server Compact Edition 经过优化,在应用程序中作为嵌入数据库使用。使用 SQL Server Compact Edition 作为网站数据库要求支持多用户和并发数据更改。这可能会导致性能问题。因此,不支持这些情形。其他版本的 SQL Server 2005(包括 SQL Server 2005 Express Edition)经过优化,作为网站数据库使用。在使用 ASP.NET 创建 SQL Server Compact Edition 数据库以实现同步操作的应用情形中,SQL Server Compact Edition 可与 ASP.NET 配合使用。使用下面的代码更改 SQL Server Compact Edition 的默认行为,以便与 ASP.NET 配合使用。
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)
请参阅
参考
System.Data.SqlServerCe 命名空间对象
System.Data.SqlServerCe 命名空间(.NET Framework 参考文档)