对那些需要下载数据、需要对下载数据进行高速处理并可能返回结果的应用程序,使用数据集的方法是最理想的。数据集允许在有限的过滤和保存性能下进行对复杂数据结构进行高速的、内存中的(in-memory)访问,其性能与把数据以文件的形式保存到本地文件系统的性能一样好。然而,如果应用程序需要更强大的离线数据操作,那么你需要求助于更强有力的本地数据库机制。
微软公司提供了作为轻量级本地数据库引擎的两种不同版本的SQL 2000。在Windows CE设备的环境下,你可以使用SQL Server CE 2.0(SQLCE)。SQLCE是SQL Server 2000的重写版,它着重考虑到了Windows CE环境下的有限内存和处理器速度的限制。
膝上型、tablet或者远端桌上型电脑可以利用MSDE。MSDE实际上使用了真正的SQL Server 2000引擎代码,但是不允许同时有超过一定数量(目前为五个)的连接。此外,在MSDE中,SQL Server 2000所提供的绝大多数的拷贝函数和所有的Analysis Services功能就被移去,这样MSDE可以在桌上型电脑上更加有效的运行。微软公司开始在它的某些新产品上使用MSDE,这些新产品包括新的CRM应用程序,它用来作为CRM数据的离线存储器(offline store)。
上面所提到的两种本地数据存储器有两个共同的特点,这两个特点使得它们成为离线数据访问的理想选择。第一个特点是它们支持.NET框架。SQLServerCE名字空间包括所有的操作SQLCE所必须的类,而标准SQLClient名字空间允许一个Windows CE应用程序来管理远端的SQL Server数据库。Windows应用程序还可以用SQLClient来管理MSDE的本地拷贝或者远端的SQL Server数据库。第二个特点是这两种数据存储器可以作为远端SQL Server发行的订户(subscribers),这就允许它们参与拷贝合并(merge-replication)。