




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文介绍如何利用 RDA(RemoteDataAccess远程数据存取)实现掌上电脑Pocket PC(简称PPC)上的SQL Server CE 2.0与桌面SQL Server 2000数据库间的数据存取。我们将采用Visual Basic .Net 2003进行智能设备端的程序开发。一、 概述PPC程序与桌面PC进行通信的编程方式目前有两种,1、利用Socket编程与桌面程序进行通信;2、利用RDA和Replication(复制)进行数据库编程来完成与桌面SQL Server数据库的存取。利用Socket编程实际上就是通过TCP/IP协议与桌面PC进行通信,它可以很方便的传输一般类型的数据,譬如:字符串、整数以及字节等,但是如果需要传输类型化的数据则需要程序员自己去封装,而且若想由智能设备从桌面数据库引擎中返回指定数据库表的数据,必须编写桌面接口服务程序来查询数据并将结果通过Socket返回给智能设备。那么如何才能在Pocket PC上做到像在桌面PC上一样存取本地数据库甚至是远程桌面PC的数据库呢?通过在智能设备Pocket PC上运行的SQL Server CE 我们便可以轻松存取放置在Pocket PC上的SQL Server CE数据库,还可以通过SQL Server CE中的RDA或者合并复制快速实现从智能设备上存取远程桌面SQL Server2000的数据库。二、技术要点SQL Server CE 全名是Microsoft SQL Server 2000 Windows CE Edition,它为移动智能设备和嵌入式设备提供了一种存取轻量级数据库的解决方案。通过使用Microsoft Visual Studio .NET 或者 Microsoft eMbedded Visual Tools等开发工具,我们可以将SQL Server的企业数据管理能力扩展到基于Windows CE的智能平台之上。SQL Server CE可以应用到三种典型的环境中:1、开发环境,即用于开发基于SQL Server CE程序的桌面PC,该桌面PC必须包括Microsoft Visual Studio .NET或者Microsoft eMbedded Visual Tools 3.0和Pocket PC SDK开发工具;2、客户端环境,是用于运行基于SQL Server CE程序的Pocket PC设备,当设备没有可用的网络连接时,可以使用Microsoft ActiveSync来与服务器环境桌面PC进行线缆连接;3、服务器环境,是运行Microsoft Internet Information 服务(IIS) 和Microsoft SQL Server实例的计算机,可以将IIS和SQL Server部署在同一台已算机上,也可以分别配置到多台计算上。RDA和合并复制都需要通过IIS来与SQL Server进行通信。SQL Server CE 依靠几个组件来与SQL Server进行数据交换:1、数据库引擎用于管理基于Windows CE设备上的数据存储,并且跟踪数据库记录的添加、更新和删除操作;2、SQL Server CE Client Agent 是运行在Windows CE设备上的用于连接的组件,包括复制对象、RDA对象和数据库引擎,使用这些对象应用程序可以控制与SQL Server的连接;3、SQL Server CE Server Agent 处理来自SQL Server CE Client Agent的Http请求。当SQL Server CE Client Agent通过Http协议向SQL Server CE Server Agent发送请求时,SQL Server CE Server Agent会与SQL Server进行连接并将查询的记录集通过Http协议再传回给SQL Server CE Client Agent,所有数据的传送都要依赖IIS来完成。由上述通信过程我们知道,SQL Server CE 的远程连接和存取需要使用Web传输协议Http 或者Https,SQL Server CE Client Agent必须运行在Windows CE设备上,SQL Server CE Server Agent则运行在桌面PC上,而且该计算机还必须安装有IIS以便使用RDA 或合并复制来和SQL Server通信。SQL Server CE 支持的网络连接有以太网、无线局域网和无线广域网。通过使用Microsoft ActiveSync,Pocket PC设备可以使用串口、红外线或者USB直接与桌面PC上的SQL Server连接,也可以进行SQL Server CE与桌面SQL Server 的连接测试。Remote Data Access (RDA)对象是Microsoft SQL Server 2000 Windows CE (SQL Server CE)用于可编程存取远程Microsoft SQL Server 2000 或者Microsoft SQL Server version 7.0 数据库的ActiveX控件,我们可以使用RDA存取远程数据库就像是在桌面PC上操作本地数据库一样简单。三、设计思路我们将使用Visual Basic .Net创建“任务管理程序 For PPC”项目来展示如何利用RDA来完成PPC与PC间的数据库连接和存取。一名客户经理助理或销售人员必须知道今天都要完成哪些任务,上级领导对自己都有哪些安排等等信息,虽然可以使用Email或者IM程序进行接收和查看,但是如果我们只拿Pocket PC设备能否完成任务的接收呢?答案当然是肯定的。在Pocket PC上我们创建数据库客户端程序,编写RDA程序需要用到.net压缩框架中System.Data.SqlServerCe命名空间中的SqlCeRemoteDataAccess类。从桌面PC查询并获取记录集到Pocket PC上我们需要使用rda.pull方法,pull有多种重载版本,我们使用最常用的版本,localTableName 是将要接收提取的 SQL Server 记录的 SQL Server CE 本地表的名称。sqlSelectString 为任何有效的 Transact-SQL 语句,包括 SELECT 语句和存储过程,它们指定从远程 SQL Server 数据库中提取哪些表、列和记录以存储在 SQL Server CE 数据库中。 oledbConnectionString 是连接 SQL Server 数据库时使用的 OLE DB 连接字符串。 trackOption 表示 SQL Server CE 是否跟踪对提取表所做的更改,以及提取的表上存在的索引是否转到具有主键约束的设备。我们使用的版本为:TrackingOnWithIndexes指示 SQL Server CE跟踪对所提取表的所有更改。在本地表上同时创建 SQL Server 表上存在的索引和主键约束。编写PPC数据库程序所用到的控件和类与编写桌面数据库程序具有相似性,SqlCeConnection对应SqlConnection,SqlCeDataAdapter对应SqlDataAdapter,SqlCeCommand对应SqlCommand等,SqlCeConnection 对象表示到智能设备上的数据源的一个连接,需要向ConnectionString传递有效的连接字符串,譬如:Sdf文件是SQL Server CE 数据库文件。 SQL Server CE 只支持一次一个连接,但是多个命令可以共享同一连接。在SqlCeConnection连接打开的情况下,可以创建SqlCeCommand对象,并设置用于执行或返回记录集的SQL语句的Commandtext属性,SqlCeCommand 调用的 SQL 语句不支持传递参数的命名参数,必须使用问号 (?) 占位符,也可以自定义组成SQL语句的字符串,例如:应用程序可以使用rda.push方法将 SQL Server CE 跟踪提取表中的更改传送回原始 SQL Server 表。localTableName 是指已经从 SQL Server 提取的记录的 SQL Server CE 本地表的名称。oledbConnectionString 为连接 SQL Server 数据库时使用的 OLE DB 连接字符串。batchOption 表示正发送回 SQL Server 表的更改是组成一批共用同一事务,还是分别应用。我们的版本需要将所有行组成一批,归并到一个事务推入SQL Server。四、 环境配置及程序实现很多网友不能成功运行SQL Server CE 的RDA和合并复制程序很大程度都是因为配置问题。正确安装SQL CE和配置IIS及SQL Server 2000是运行SQL CE数据库程序的关键。安装SQL Server CE时需要注意,安装程序在安装服务器工具时会抱错,这是SQL Server CE本身与SQL Server 2000存在兼容性及安全性问题,解决的办法是先忽略,然后更新桌面SQL Server 2000数据库引擎到SP3或SP4,根据所做的更新版本还需要运行相应的更新程序SQL Server CE 2.0 SP3 For SQL Server 2000 SP3或者SQL Server CE 2.0 SP4 For SQL Server 2000 SP4,这样SQL Server CE的服务器组件就可以顺利地安装到了计算机中,然后运行其附带的Configure Connectivity Support in IIS创建IIS虚拟目录sqlce,其指向的实际本地路径为:C:Program FilesMicrosoft SQL Server CE 2.0Server,可以更改该文件夹路径为其它,但该文件夹下必须放置着SQL Server CE Server Agent的相关文件,比如:sscesa20.dll。下一步需要配置存取该虚拟目录的用户、权限及身份验证方式,我们可以选择匿名访问,并接受IIS的默认来宾用户,一般以IUSR开头,在存取权限中需要选中读取和目录浏览两项,见下图。 配置就绪后,我们可以检测SQL Server CE Server Agent工作是否正常,启动IE,在地址栏中输入 Http:/localhost/sqlce/sscesa20.dll,或者将localhost改为实际的主机名称,浏览器返回“SQL Server CE Server Agent”说明SQL Server CE Server Agent运行正常,IIS配置正确。 接下来需要配置SQL Server 2000,我们需要在桌面SQL Server 2000中创建名为Task数据库,包含Employee员工表和ItemList任务表,为ItemList表中ID字段创建主键和索引,并且添加在IIS中设置的可以访问sqlce虚拟目录和其下文件的IIS来宾用户,这样该用户就可通过IIS来存取SQL Server 2000的数据库了。 Pocket PC和桌面PC网络连接可以使用Microsoft ActiveSync,也可以使用无线WiFi 802.1x。由于我们是与单台桌面PC连接,需要在其上同时安装IIS和SQL Server 2000。实际使用得知SQL Server CE 2.0运行在桌面服务环境的服务器工具与SQL Server 2000在连接上存在一定问题,微软对此问题的解决办法是:首先将SQL Server 2000打上SP3或者SP4,同时根据SQL Server 2000的补丁版本,还需要给SQL Server CE 2.0打上用于SQL Server 2000 SP3或者 SQL Server 2000 SP4的补丁,SQL Server CE的服务器组件才能顺利工作,上述更新和补丁程序在微软网站上都有下载。配置结束后启动Visual Studio .Net 2003,单击文件 新建 项目 - Visual Basic 项目 - 智能设备应用程序,创建空项目。整个程序由一个Form窗体MainForm组成,其上包含两个Panel组件和一个Button组件,我们把程序分为两个主界面,一个为登录界面,一个为操作界面,分别对应两个Panel控件,当登录用Panel显示时,操作用Panel则隐藏,当登录成功后两个Panel的显示属性则相反。Button控件提供退出操作。登录用Panel上面包含几个TextBox和Button控件供填写SQL Server CE Server Agent 的Web地址、要连接的远程SQL Server 2000服务器名称、能够存取桌面SQL Server数据库的用户名和密码,以及要登录的员工ID和密码等必要的登录信息。运行在实际设备上的图示如下: 当单击”登录”按钮时,程序首先在智能设备上创建SQL Server CE本地数据库sdf文件,本程序下载的所有表都保存在该数据库中:然后创建RDA对象的实例,并填写用于和远程SQL Server CE Server Agent 通信的相关信息。下载允许登录PPC的合法的用户信息数据到本地表:UserInfo表返回的是就是登录用户的记录信息,请注意RdaTrackOption的值为TrackingOff,因为我们没有在PPC上设置更改用户信息的操作,所以没必要跟踪该表。如果用户名和密码验证通过,UserInfo表的记录数就为1,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025上海汽车销售合同范例
- 光伏试验合同样本
- 电子商务区域代理销售协议二零二五年
- 两人合伙人合作的协议书
- 牧民草场承包合同范例二零二五年
- 保安公司劳务派遣协议合同书
- 2025中外设备租赁合同范本
- 2025个人房屋买卖合同范本
- 二零二五劳务派遣用工协议合同书
- 山东离婚协议书范例
- 2025生猪购买合同范文
- 医疗器械经营质量管理制度及工作程序-完整版
- (二模)温州市2025届高三第二次适应性考试英语试卷(含答案)+听力音频+听力原文
- DeepSeek+AI组合精准赋能教师教学能力进阶实战 课件 (图片版)
- 行政事业单位固定资产培训
- 6.1.2化学反应与电能 课件 2024-2025学年高一下学期化学人教版(2019)必修第二册
- 建筑施工企业安全生产流程
- 外来植物入侵工程施工方案
- 2025届高考地理专项练习:农业区位因素及其变化(含答案)
- 初中生科学素养与科学探究能力的培养策略研究考核试卷
- 2025年()中国邮政集团公司招聘笔试参考题库含答案解析
评论
0/150
提交评论