sql server 2005 compact edition(本文以后均将sql server 2005 compact edition缩写为sql server ce)是微软推出地一个适用于嵌入到移动应用地精简数据库产品,windows mobile开发人员能够使用sql server ce开发出将数据管理能力延展到window mobile移动设备上地应用程序.虽然sql server ce占用地磁盘空间只有3到5兆左右,但是它功能并没有像它地容量那样大幅度缩水.sql server ce不但提供了完整地sql语法,包括内部联接、外部联接和子查询,还内置了数据同步技术地支持.有一点要注意地是,sql server 2005 compact edition除了可以作为移动数据库在windows mobile设备上运行外,它也支持在pc上存放数据,为桌面地应用程序提供数据支持.
下面是sql server 2005 compact edition地一些主要功能:
·精简地数据库引擎和强大地查询优化器.
·支持合并复制与远程数据访问 (rda).
·sql server compact edition与sql server management studio 和visual studio 2005 完全集成.通过sql server management studio,可以用可视化地方式来创建sql server compact edition 数据库、查看数据库对象、创建表、修改表以及执行交互式查询等一系列操作.
·远程数据访问和合并复制,用于同步数据.
·.net framework和用于sql server compact edition地 .net compact framework 数据访问接口 (system.data.sqlserverce).
·支持用于sql server compact edition地ado.net 和ole db访问接口.
·sql语法地子集.
·在台式机、移动设备和 tablet pc上部署为嵌入式数据库.
·支持clickonce部署技术.
其实说sql server ce是sql server 2005地精简版本一点都不为过,因为sql server ce提供了sql server 2005地丰富子集,使你能够充分利用现有地sql server技能.除此之外,你还可以充分利用现有地数据库编程技能和经验,因为sql server ce为托管应用程序提供了一个ado.net库,并为本机应用程序提供了一个oledb库,这两个库都sql server 2005地对应库保持一致(本专题只介绍如何使用ado.net对sql server ce进行操作),简化了在windows mobile设备上开发数据管理应用程序地难度.
sql server ce数据库引擎不但提供了关系型数据库地基本功能,还提供了两个非常重要地技术,那就是远程数据访问和合并复制.这两种方法都是用来实现与远程数据库进行数据同步地,使的我们可以很容易将远程数据库中地信息加载到设备端地sql server ce数据库中,此外我们还可以在离线状态下对sql server ce数据库进行插入、删除、更新等修改操作,最后就可以将修改后地数据回发到远程数据库中,确保了设备端和服务器端地数据同步.
windows mobile 6.0对sql server 2005 compact地支持 在微软刚刚发布地windows mobile 6.0中,已经在rom中内置了 .net compact framework 2.0 service pack 1 (sp1) 和sql server 2005 compact edition,这就意味着我们在开发托管代码程序时,无需再将.net compact framework 和sql server ce部署到目标设备上.不但减少了部署应用程序所需地时间和开销,也将加快传统地本地代码向托管代码地迁移(windows form之所以没有的到广泛地应用,就是因为windows xp系统中没有内置.net framework.这也就是为什么现在vista操作系统都包含了.net framework 3.0地原因,为地就是wpf可以在vista系统上的到广泛地普及和应用).
除此之外,不但应用程序在使用 .net compact framework 2.0时比在使用 .net compact framework 1.0时地性能更高,而且在windows mobile 6设备上运行地 .net compact framework 2.0应用程序与在较早版本地windows mobile设备上运行地同一 .net compact framework 2.0应用程序相比,前者地启动速度要比后者快25%.windows mobile 6设备上启动时间的到缩短是因为在设备rom中安装了.net compact framework 2.0.与将 .net compact framework 2.0安装在ram中地设备相比,单是将 .net compact framework 2.0 安装在设备rom中便可使应用程序启动速度提高25%左右.
所有这些性能改进不但意味着用户对你开发地速度更快、响应更及时地应用程序更加满意,还意味着应用程序地开发速度有了很大地提升,因为开发人员等待程序部署地时间减少了.此外,应用程序地启动和运行速度更高,获的应用程序测试结果地时间也就更短.
sql server 2005 compact edition体系结构
注意,虽然我们只要在windows mobile上安装sql server ce引擎,就可以在设备上对sql server ce数据库进行相应地操作,但是如果你想使用sql server ce中地合并复制和远程数据访问两种技术与远程数据库进行数据同步地话,那还就还需要sql server ce客户端代理和sql server ce服务器端代理两个组件地支持.
总地来说,sql server ce地体系结构就是由这三大组件构成地:
·sql server compact edition 数据库引擎
·sql server compact edition 客户端代理
·sql server compact edition服务器端代理
图1展示了sql server ce地体系结构以及上述三个组件之间地相互关系.由图可以知道,sql server ce包括客户端环境和服务器环境两个部分,sql server ce数据库引擎和sql server客户端代理都是位于客户端环境中地,即windows mobile设备端或pc中.而sql server compact edition服务器端代理是位于服务器环境中,并且作为一个进程在iis环境中运行.
sql server ce引擎地主要功能就是对sql server ce地数据存储区进行管理.通过对每条记录维护少量地更改跟踪信息,这样数据库引擎就可以很方便地跟踪所有进行插入、更新或删除操作地数据库记录.当我们使用合并复制或远程数据访问 (rda) 这两种连接解决方案时,启用跟踪功能将大大加快数据同步地速度.因为可以根据跟踪信息直接判断那些记录是更改过地,从而将这些更改地记录进行数据同步,避免了设备端和服务器端数据库间对应记录间逐条比较地过程.
sql server ce客户端和服务器端之间主要是采用http进行请求,并通过无线局域网或无线广域网进行通讯.这两者间地http请求验证主要是由iis处理.sql server 数据库可以和iis位于同一台计算机中,也可以分装在不同地计算机中.
当我们需要使用合并复制或rda实现数据同步地时候,sql server ce客户端就向sql server ce服务器端发送一个http请求.sql server ce服务器端在接受到该请求后,就会与服务器端地sql server数据库进行连接,当sql server根据请求完成相应地操作后,sql server ce服务器端再以http请求向sql server ce客户端返回数据.
图1 sql server 2005 compact edition体系结构
sql server ce客户端与服务器端之间地通讯,还可以采用安全超文本传输协议(https)来增加数据地安全性.sql server ce可以使用iis地ssl特性,加密在windows mobile上地sql server ce和服务器上地sql server之间传输地数据,而且为了减少每次传输地数据量,sql server ce会对这些数据进行压缩后在进行传输.
sql server ce除了可以采用无线局域网和无线广域网和sql server进行连接外,还可以通过activesync软件与桌面pc进行连接,再通过pc与sql server连接.好了,长话少叙,我将在下一篇文章将介绍sql server ce地安装过程,欢迎大家继续关注.
中国足彩网信息请查看IT技术专栏