科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件WinCE.Net平台下电力巡检仪数据同步研究与实现(1)

WinCE.Net平台下电力巡检仪数据同步研究与实现(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

研究并实现了使用远程数据访问(Remote Data Access)RDA对象,实现Pocket PC上的SQL Server CE数据库与远程PC服务器上的SQL Server 2000数据库数据同步与交换。

作者:邓志超/康海锋/林和平/张艳芬 来源:计算机与信息技术 2007年9月1日

关键字: WinCE.Net pocket pc 数据同步

  • 评论
  • 分享微博
  • 分享邮件

引言

数据同步已经成为移动计算的一种基础应用模式。但由于在移动环境中设备多样,需要交互的数据也千差万别,再加之连接特性很不稳定,这就要求用标准的方法来实现数据同步,使之能成为移动计算环境中的一个基础设施。

我们在Pocket PC 2002中加载了SQL Server CE作为Pocket PC的数据库,在Windows Server 2003中加载了SQL Server 2000作为普通台式计算机的数据库,同时采用了Microsoft Visual Studio .NET 2003作为研究的开发平台,Pocket PC与普通PC计算机之间的数据同步采用XML方式进行。

1、搭建平台硬环境及软环境

1.1、下载和安装SQL Server CE

在微软的相关网站上下载SQL Server CE 2.0或以上的版本,将Pocket PC与桌面计算机正确建立合作关系,进行数据通讯,按要求在桌面计算机上正确安装SQL Server CE,安装时,通过建立的合作关系,安装程序会将SQL Server CE同时安装到Pocket PC 上。

1.2、配置基于IIS的Web服务器

要想通过Pocket PC直接访问服务器中的SQL Server 2000数据库中的数据,在服务器上必须安装IIS,建立web服务器。正确安装IIS后,还要进行下面的配置:打开“控制面板->Internet信息服务”,设置步骤如下:

(1)增加虚拟目录

(2)虚拟目录名称为:power(电力)

(3)填写虚拟目录路径:将存放SQL Server CE的系统目录下Server于目录作为虚拟目录路径,如:D:\Microsoft SQL Server CE 2.O\Server。该目录下包含sscesa20.dll等文件。

(4)设置访问权限:该目录应该设置为读取和写入,执行许可应设置为:脚本和可执行程序。

(5)测试SQL Server CE IE安装是否正确:打开IE浏览器,在地址栏中输入http:\\59.73.195.91/sqlce/sscesa20.dll,其中,59.73.195.91是Web服务器IP地址,系统返回:SQL Server CE Server Agent,则表明设置正确。

1.3、在服务器配置SQL Server CE

SQL Server CE安装后,打开“程序Microsoft SQL Server CE 2.0->Configure Connectivity Support in IIS”,执行Conf- igure Connectivity Support in IIS菜单项,对相关项目进行配置,这样的配置是必须的。

2、远程数据访问RDA(Remote Data Access)

RDA对象,是SQL Server CE自带的,它为Windows CE应用程序访问远程的SQL Server 2000 数据库提供了一种简单的访问方式。利用它可以将存在Pocket PC上的数据直接写入到远程的SQL Server 2000数据库中或将远程的SQL Server 2000数据库的数据下载到Pocket PC中的SQL Server CE数据库中的一个数据表中,这样就实现了数据的交换与同步。安装完SQL Server CE后,我们就可以在开发平台如:Embedded Visual C++或Microsoft Visual Studio.NET 2003中使用RDA对象来访问SQL Server 2000数据库中数据。我们使用的是Microsoft Visual Studio.NET 2003开发平台。

RDA对象有许多方法和属性,主要的方法和属性如下:

RDA 对象的主要方法(method):

方 法
功 能 说 明
Pull
方法
从Microsoft SQL Server数据库中获取数据.存放在SQL Server CE数据库中的一个表中。注意,该表应是一个不存在的数据表.执行Pull方法后,会自动建立数据表。
Push
方法
将SQL Server CE数据库表中已改变的数据上传到Server CE数据库的对应表中。

RDA对象的主要属性(Property):

方 法
说 明
Internet
URI 属性
PC 服务器上sscesa20.dlI的访问地址.如:
http:\\59.73.195.91/sqlce/sscesa20.dll
LocalConnection String属性
String属性Pocket PC的数据库访问连接串

3、程序设计

采用Microsoft Visual Studio.NET 2003作为开发工具,开发语言是C#,服务器采用Windows Server 2003.数据库采用SQL Server 2000,SQL Server CE 。

3.1、在Pocket PC上创建SQL Server CE数据库

SQL Server CE 中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库。在创建数据库之后,可以创建保存数据的表。首先在Pocket PC上创建一个名为PowerDB.sdf的SQL Server CE数据库。

3.2、创建WalkThrough类

public class WalkThrough

{

static void Main()

{

SqlCeConnection conn = null;

if (File.Exists ("PowerDB.sdf"))//判断

File.Delete ("PowerDB.sdf");

SqlCeEngine engine = new SqlCeEngine ("Data Source = PowerDB.sdf");//创建空数据库

engine.CreateDatabase ();

conn = new SqlCeConnection ("Data Source = PowerDB.sdf");//连接到新数据库

conn.Open();}}

运行上述代码将会在Pocket PC上建立一个名为PowerDB.sdf的数据库,用于访问该数据的数据源为PowerDB。

3.3、数据库同步代码

为了使Pocket PC上数据库数据与PC服务器上的数据库数据保持同步,我们采用远程数据访问(RDA)对象来实现.下面简单介绍设计及实现方法。

(1)初始设置

下面代码对Pocket PC的数据库连接和要保持同步的远程服务器SQL Server 2000数据库连接进行初始设置:

private void RDAFm_Load(object sender, System.EventArgs e) //加载同步窗体即初始化

{

synDS=new DataSet();//声明数据集

synDS.Locale=CultureInfo.CurrentCulture;

CurrentFolder=System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;

//获取程序集URL位置

CurrentFolder=CurrentFolder.Substring(0,CurrentFolder.LastIndexOf("\\")+1);

xmlFileName=CurrentFolder+"SynConfig.xml";//获取文件名

xsdFileName=CurrentFolder+"SynConfig.xsd";//获取文件名

FileStream FsXML = new FileStream(xmlFileName,FileMode.Open);

FileStream FsXSD = new FileStream(xsdFileName,FileMode.Open);

XmlTextReader xtrXSD = new

XmlTextReader(FsXSD);

synDS.ReadXmlSchema(xtrXSD);

xtrXSD.Close();

FsXSD.Close();

XmlTextReader xtrXML = new XmlTextReader(FsXML);

synDS.ReadXml(xtrXML);

xtrXML.Close();

FsXML.Close();

DataTable dt=synDS.Tables["SynCon"];//定义数据集中的表

//为控件获取数据绑定

Text.DataBindings.Add(newBinding("Text

",dt,"name")); }

 

    • 评论
    • 分享微博
    • 分享邮件
          邮件订阅

          如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

          重磅专题
          往期文章
          最新文章