说起SqlCe的安装,说起来我有点不好意思的。为何呢?自从我从刚学使用.NET Companct Framework开始,就接触到SqlCe的了,当时存在着两个难题。一个是SqlCe的安装,一个就是程序的打包。当然我今天只说一下我SqlCe的安装咯。
其实也没啥,SqlCe的安装很简单的。因为SqlCe的安装包是安装一个Agent,这个Agent用来建立SQL Server与设备上的SqlCe通信的一个Server Agent,如下图(摘自SqlCE Book Online)
原则上安装的是一个叫做Server Ce Server Agent的管理平台。这个平台提供一个从SQL Server到设备SqlCe的一个HTTP连接。用于数据交互。
先简要介绍一下里面的Point:
1
、
SQL Server CE
数据库引擎(
Database Engine
)
SQL CE
数据库引擎管理存储着在基于
Windows CE
设备上的
SQL Server
数据,在发生少量数据记录的变化时,此数据库引擎可以通过插入、更新、删除来保持数据库的一致性,可以通过使用两种连接方案来使数据同步功能得以实现。
2
、
SQL Server CE
客户代理端
SQL Server CE客户代理端是设备上用于连接的基本组件,维持着下列几个对象:复制对象,远程数据访问(RDA)对象和引擎对象。通过使用这些对象,程序可以编程控制这些SQL Server连接。
3、SQL Server CE服务器代理端
SQL Server CE
服务器代理端负责处理客户代理端发出的
HTTP
请求。程序发出请求后,客户代理端通过
HTTP
发送这些请求到服务器代理端,服务器代理端连接到
SQL Server
,并通过
HTTP
发送结果集到客户代理端。在上图没有显示的附加组件同样包含在此处理过程中,这些组件运行在运行
IIS
的机器上。
合并复制与(
RDA
)使用不同的方法处理
HTTP
请求,同时也在运行
IIS
的机器上使用不同的
SQL Server
连接组件。
我是个Web盲,所以有些概念并不是很熟悉,比如说虚拟目录、快照、HTTP传输等。
赶快回到本文的正题,安装SqlCe的第一步是安装这个Server Agent。而这个Agent的安装取决于其版本要与SqlServer的版本对应,比如你的SqlServer2000版本是SP3,那么你必须使用SqlCeSP3这个版本,SqlServer2000的版本是SP4的,那你就必须使用SqlCeSP4的这个版本;需要说明的是所谓的SqlServer2000的SP3、SP4是通过打补丁完成的,关于这个SP3、SP4的补丁在MSDN网站上有下;而且这个补丁的安装有两部分,如SqlServer2000的SP4,安装程序会先解压安装文件到本地目录里面,然后找到这个本地目录SQL2KSP4,运行里面的一个批处理文件setup.bat,再就是根据安装步骤继续就可以了。哦,对了,还必须有个前提是,你已经安装了IIS。因为SqlCe与SqlServer的传输的通过HTTP来进行传输的,现在你知道安装IIS的重要性了吧。
一般情况下,安装完SqlCe后会直接进入SQL Server CE Connectivity Management的配置,这个连接管理平台的配置就是为了使Server 2000与设备通信,分别有指向SQL Server CE Server Agent (sscesa20.dll)虚拟目录的创建,HTTP认证方式的确定,还有就是NTFS权限配置,这些配置与Web配置有很大的相似之处吧。其实就是一个HTTP的连接配置。如果你熟悉Web那么你会很容易理解这些动作的要点。最后一个比较重要的是一个叫做Set NTFS permissions for the SQL Server snapshot folder.的选项。这个选项的必要之处在于它能够为Server与SqlCe之间的数据传输提供一个快照,而且这个快照是非常必要的。实际操作比较简单而但是很关键,只要你在C盘目录下建立一个文件夹并且修改这个文件夹使其Web共享就可以了,这样就提供给设备访问这个快照文件的权限。
到这里你已经完全进行了所以的安装和配置步骤了,现在你要做的是在浏览器中输入
http://172.0.0.101/sqlce/sscesa20.dll这个路径,如果出现SQL Server CE Server Agent的字样,就说明你能够在设备上进行访问了。当然你要使用你自己的IP和虚拟目录名。
现在你可以在设备上使用远程数据访问(RDA)和合并复制了;当然,使用合并复制还需要一些配置,但是这个不在今天的讨论范围内。
其实SQLCE的安装不是很复杂,但是详细描述一下还是很有必要的。这对于理解Server2000与SqlCe的数据交互有很大的帮助。