频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源:计算机与信息技术 作者:邓志超/康海锋/林和平 出处:巧巧读书 2007-04-03 进入讨论组
上一页 1 2 
访问地址 http://www.qqread.com/soft-engineering/j306213.html

(2)数据同步[2]方法:数据下载(同步到本机)与上传(同步到服务器)

笔者利用RDA的Push和Pull方法.分别实现了将掌上电脑上的SQL Server CE数据库的数据上传到PC服务器上的SQL Server 2000数据库中.及将PC上SQL Server 2000数据库中数据下载到掌上电脑的SQL Server CE数据库中。将SQL Sever 2000数据库中PowerDB的表中数据下载到SQL Server CE数据库中同名的表中:

下面我们介绍一下这两种方法:

rdaPush();//数据上传方法

private void rdaPush ()

{

SqlCeRemoteDataAccess rda = null;

rda = new SqlCeRemoteDataAccess();

rda.InternetLogin = login;

rda.InternetPassword = pwd;

rda.InternetUrl = URL;

rda.LocalConnectionString  = @localConnectionString;

rda.Push("ctlRoom",rdaOleDbConnectString,RdaBatchOption.BatchingOn);

rda.Push("ctlRoomRecord",rdaOleDbConnectString,RdaBatchOption.BatchingOn);

rda.Push("scoutRecord",rdaOleDbConnectString,RdaBatchOption.BatchingOn);

MessageBox.Show("数据上传成功");

rda.Dispose();}

rdaPull();//数据下载方法

private void rdaPull()

{

if (File.Exists (dbName+".sdf"))

File.Delete (dbName+".sdf");

SqlCeEngine engine = new SqlCeEngine (localDbString);                         

engine.CreateDatabase ();                             

SqlCeRemoteDataAccess rda = null;

rda = new SqlCeRemoteDataAccess();

rda.InternetLogin    = login;

rda.InternetPassword = pwd;

rda.InternetUrl  = URL;

rda.LocalConnectionString = @localConnectionString;

rda.Pull(      "tableName",                                            

"Select * from tableName ", rdaOleDbConnectString,

RdaTrackOption.TrackingOffWithIndexes ,

"ErrorTable");

string day=string.Empty; //条件同步

GetDate(ref day);//获取当前日期格式

//基本信息,需要上传服务器

rda.Pull(" tableName ",                                              

"Select * from tableName",             

rdaOleDbConnectString,

RdaTrackOption.TrackingOnWithIndexes);MessageBox.Show("数据下载成功!");

rda.Dispose();}

(3)用标准的SQL语句修改远程PC服务器数据库中的数据

除了用Pull,Push方法下载和上传数据外,RDA 的Submit SQL方法还支持用标准的语句,如:Insert into、Update、delete等语句对远程的PC服务器端SQL Sever 2000数据库数据进行增加、更新等操作,甚至还可以使用存贮过程对数据库进行操作,在这里笔者不做以详细介绍了。

4、巡检系统软件实现

嵌入式系统与一般PC在开发硬件环境上的最大差异在于它分为两个平台:开发平台和目标平台,程序在主机端开发、编译,在目标平台的另一个CUP平台上执行,这就造成了嵌入式系统的交叉编译、下载程序到目标平台内存、远程调试的特殊现象。远程调试实际包含两部分软件,前端运行在主机并提供人机界面;后端运行在目标机上,它负责通过某种链路来和前端通信。后端被称作调试监控器(debug monitor),它提供了对目标处理器的底层控制。

4.1、系统的选择与组成

应用系统主要由两部分组成见图1。?客户端:目标机采用嵌入式Windows CE操作系统为平台,相应的开发语言为C#;?实现功能:在本文中执行C/S中的服务器进程。?服务器端:主机采用Windows Server 2003,开发工具为面向对象的Microsoft Visual Studio  -.NET 2003,数据库管理系统采用SQL Server 2000; ?实现功能:在本文中执行C/S中的客户进程。提出与目标机的连接请求,在连接成功后与客户端进行数据上传与下载。

WinCE.Net平台下电力巡检仪数据同步研究与实现(图一)
图1:客户/服务器模式的系统组成

4.2、TCP/IP协议

随着因特网的迅速发展,使TCP/IP体系结构成为事实上的工业标准。TCP/IP协议把网络协议看成5层的层次模型,如图2所示。

WinCE.Net平台下电力巡检仪数据同步研究与实现(图二)
图2:网络协议层次模型

上图中每个层都实现自己的功能,且每层的功能都是其上一层提供的服务基础。网络层协议IP协议,它提供在通信子网中进行路由选择的算法。IP协议使用IP地址来确定发送端(源主机)和接收端(目的主机),提供端到端的数据同步。

传输层中有TCP协议,该层协议提供主机之间的进程与进程的有效数据传输,数据的发送端和接收端都要建立起端点,形成连接关系,这两个端点即为“套接字”。

4.3、系统软件实现

本系统是面向客户机/服务器模式设计的,其系统必须包括客户和服务器的两个进程,而且服务器进程要先于客户进程启动,在提供服务时必定存在服务器进程和客户进程两个运行着的进程。图3所示为目标机上的服务器进程和主机上的客户进程的执行顺序和流程图。

5、总结

借助网络通信实现电力巡检中巡检信息的共享和同步,可极大提高巡检管理的自动化程度和生产效率。在远程服务器上建立中央巡检数据库,在现场巡检仪中仅设置小容量数据库;由中央数据库对整个系统中的电力设备进行统一的管理调度,而局部数据库与中央数据库间的数据传输与同步可以提高电力设备的使用效率和系统的快速应变能力。设计并实现的这一套开发工具包定义了完整的应用模型,经过实际使用也取得了很好的效果,对于进一步推广相关应用的普及也有很高价值,如铁路售票,医疗查房等巡视检查工作都具有一定的指导意义及前瞻性。

WinCE.Net平台下电力巡检仪数据同步研究与实现(图三)
图3:C/S系统执行的流程图
更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册.NET应用研究专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章