移动数据库的产品——Microsoft SQLServer For CE
SQLServer For CE(下面简称SQL CE) 是微软公司为掌上设备专门设计的移动数据库,现在最新的版本为2.0。它的数据库引擎大约占用1.2~1.6M的磁盘空间。但是SQLCE已经能够执行大部分的SQL查询处理,支持大部分SQL语句,开发者可以像使用SQL Server2000用户接口那样使用SQL CE。SQL CE为移动计算应用做了很多优化和取舍,大大加快了SQL语句的执行速度,提高了在低CPU频率、低内存情况下运行的性能。而且,SQL CE能够和SQL Server2000很好地配合,用户只要通过少量的代码就能实现移动数据库到服务器的数据同步。现在SQL CE能支持的更大数据量已经达到2G。可以说,SQLCE是移动GIS应用的一个很好的属性数据库选择。
移动数据库的实现的主题特性是要解决离线数据库和 服务器端数据库的同步问题,SQL CE的方式为远程数据访问的技术(RDA)以及合并复制技术 (merge replication),这里主要介绍前者。
所谓远程数据访问即Remote Data Access(简称为RDA),这项技术在WindowsCE2.11版本时已经存在,在SQL Server2000 For CE出现之后,它的功能又更加丰富了。利用这项技术我们可以利用各种 *** 环境,使PocketPC连接到远程的SQL Server2000数据库。如果用户是之一次连接,则移动设备会从SQL Server2000上下载需要査询的数据;如果不是之一次査询,移动设备则会对比本地的数据库和远程数据库中的内容,更新远程数据库中的信息。通过RDA技术可以完成下面四种类型的数据传递。
1.从服务器端下栽数据
添加微信好友, 获取更多信息
复制微信号
当移动设备上的本地数据库无内容时,可以通过RDA技术从远程SQL Server2000 服务器下载初始化数据到本地SQLServerCE数据库。例如,应用程序利用RDA技术下载终端用户登录数据和 产品原始数据到本地移动数据库中,从而完成系统初始化。没有这个最初的初始化步骤,系统将无法登录。这个步骤将在后面的实例中详细描述。
2.向服务器上传数据
移动设备上的应用程序在初始化后,能够让操作员登录并使用系统。在操作员录人和采集的信息(例如GPS或条形码的信息) 都将被保存在移动数据库中,此时,又可以利用RDA技术将本地数据上传到SQL Server2000服务器端。值得注意的是,我们在设计服务器端数据库时,不能在参加同步的表中存在自增量字段,因为不同的移动设备会对表中同一个字段做自增,造成上传数据失败。
3.更新服务器端数据
有的时候,同一条记录可能在多个移动设备上的数据库和 服务器端的数据库中都存在。这个时候服务器端的记录以最后一次同步的移动设备中的记录为准。
4.下达无返回的T-SQL命令操作远程服务器(Submit SQL)
在移动设备上的应用程序能够利用T-SQL的 命令远程操作SQL Server2000数据库。这项功能非常实用,我们通常需要在采集数据时记录当前时间,但是如果存在多个移动设备的时候,各个移动设备的机器时间是不统一的,对此种情况的解决方案就是在每次数据同步时利用Submit SQL技术 刷新服务器时间并将这个时间下载设定为移动设备的时间:
Client端体现为移动设备应用程序。应用程序通过内置的SQL Server CE Client Agent 实现对本地移动数据宓的读写和查询,同时SQL Server CE Client Agent还实现了和 远程数编疰的同步Server端体现为IIS中间层和 SQLServer数据库。IIS中间层也存在一个SQL Server CE Agent *** 程序,用来处理移动设备端的数据请求。SQL Server数据库通过SQL ServerOLE DB Provider 底层接口对IIS传送过来的数据加以处理。在安装系统的时候,我们可以把IIS和SQL Server 2000装在同一台机器上,也可以分开安装在不同机器上,中间用防火墙隔开。移动设备和服务器端主要通过HTTP协议发送T-SQL命令和传递数据。
前基于C/S结构平台的实现硬件的主体主要为PDA,由于操作系统大部分为美国微软公司的Windows CE,故相信采用功能强大且开发简单的SQL CE作为 移动GIS的属性数据库的实现平台不失为一个好 *** 。
相关链接
来源:开源地理空间基金会中文分会
来源链接:https://www.osgeo.cn/post/1b20a
本站声明:网站内容来源于 *** ,如有侵权,请联系我们,我们将及时处理。