首页资源分类编程语言其他 > 嵌入式移动数据库SQL Server for Windows CE的应用研究.pdf

嵌入式移动数据库SQL Server for Windows CE的应用研究.pdf

已有 460505个资源

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人消费电子

文档信息举报收藏

标    签: 嵌入式移动数据数据库sql

分    享:

文档简介

嵌入式移动数据库SQL Server for Windows CE的应用研究.pdf

文档预览

嵌入式数据库应用 文章编号:1008- 0570(2006)06- 2- 0122- 03 中 文 核 心 期 刊《 微 计 算 机 信 息 》( 嵌 入 式 与 SOC)2006 年 第 22 卷 第 6-2 期 嵌入式移动数据库 S QL S e rve r fo r Win d o w s CE 的应用研究 Re s e a rch o f th e a p p lica tio n w ith S QL S e rve r fo r Win d o w s CE (哈尔滨工业大学深圳研究生院) 吴 飞 王 昕 Wu,Fei Wang ,Xin 摘要: SQL Server for Windows CE 是 应 用 于 嵌 入 式 移 动 设 备 的 数 据 库 产 品 。 本 文 介 绍 了 .NET Compact Framework 下 嵌 入 式 移 动 数 据 库 SQL Server CE 2.0 的 开 发 方 法 , 并 结 合 仓 库 物 料 移 动 巡 查 系 统 分 析 说 明 了 SQL Server CE 2.0 与 SQL Server 2000 数据同步的解决方案。 关键字: 嵌入式移动数据库;SQL Ser ver ;CE 中图分类号: TP311.1 文献标识码:A 技 Abstr act: SQL Server for Windows CE is an embedded database engine designed for mobile and embedded applications. This paper presents how to use SQL Server CE 2.0 in .NET Compact Framework.. Also an example is given to describe the synchronization be- 术 tween SQL Server CE 2.0 and SQL Server 2000. Key wor ds: embedded database,SQL Ser ver ,CE 创 新 1 引言 嵌入式移动数据库系统或简称为移动数据库 (EMDBS), 是专门运行在各种智能型嵌入设备或移动 设备上的小型数据库系统。目前已经成为一个十分活 跃的研究和应用领域。 Microsoft SQL Server 2000 Windows CE Edition 2.0 版 简 称 SQL Server CE 2.0,` 是 用 作 快 速 开 发 的 关 系型精简数据库, 它将企业数据管理能力扩展到了基 于 Windows CE 操 作 系 统 的 嵌 入 式 移 动 设 备 上 。SQL Server CE 提供远程数据访问和合并复制功能, 确保了 移动设备 SQL Server CE 数据库中的数据能够可靠地 传输、能够离线操作并在晚些时候与 SQL Server 服 务 器同步, 这些使得 SQL Server CE 成为移动和无线 环 境下理想的数据库。 本文介绍如何 采用基于.NET Compact Framework 的 ADO.NET 技 术 开 发 嵌 入 式 移 动 设 备 的 数 据 库 应 用, 并将 SQL Server CE 数据库应用于仓库物料移动 巡查系统的设计方案。 2 .NET 下 开 发 SQL Ser ver CE 的 方法 在 基 于 Windows CE 的 嵌 入 式 移 动 设 备 上 开 发 SQL Server CE 数 据 库 应 用 可 以 使 用 的 工 具 有 EVB, 使 用 EVB 或 EVC 时 , 通 过 ADOCE 或 OLE DB for SQL Server CE 访问 SQL Server CE 数据库, 编程比较 繁琐。关于在 EVC,EVB 下操作数据 库的方法这 里不 再赘述, 具体可参见文献[2] 。推荐采用 Visual Studio. NET, 通过 ADO.NET 技术访问操作 SQL Server CE 数 据库。 Visual Studio.NET 开 发 嵌 入 式 移 动 设 备 时 采 用 Smart Device Programmability (SDP, 智能设备编程)特 性。使用新的 C# 语言或 Visual Basic .NET 语言为移 动 或 嵌 入 式 设 备 开 发 应 用 程 序 。 在 .NET Compact Framework 下 通 过 ADO.NET 可 方 便 快 捷 的 访 问 SQL Server CE 数据库。下面以 Visual Basic.net 2003 为例 简 述 如 何 通 过 ADO.NET 实 现 对 SQL Server CE 数 据 库的基本操作。 首 先 , 必 须 在 项 目 中 添 加 对 System.Data. SqlServerCe 组件的引用, System.Data.SqlServerCe 命名 空间为 SQL Server CE.NET Framework 精简版数据 提 供程序。SQL Server CE.NET Framework 精简版数据提 供程序描述了一个类集合, 这些类可用于在托管环境 下从基于 Windows CE 的设备访问 SQL Server CE 中 的数据库。通过使用 System.Data.SqlServerCe, 可以在 任意设备上创建 SQL Server CE 数据库, 还可以建立 指 向 设 备 上 或 远 程 服 务 器 上 的 SQL Server 数 据 库 的 EVC 和 Visual Studio .NET (vs2003.net 或 vs2005.net)。 连接。 应 用 开 发 中, 根 据 不 同 的 需 求 , 从 System.Data. 吴飞: 研究生 SqlServerCe 命 名 空 间 中 选 择 相 应 的 类 进 行 操 作 。 例 如 : SqlCeEngine 类 包 含 了 SQL Server CE 引 擎 的 属 -122- 360 元 / 年 邮局订阅号: 82-946 《现场总线技术应用 200 例》 您的论文得到两院院士关注 嵌入式数据库应用 性、方法及其他对象, 可用来创建一个新的 SQL Server CE 数据库。代码示例如下: Dim connStr As String = " data source=\My Docu- ments\SampleDB.sdf " Dim SQLEngine As System.Data.SqlServerCe.Sql- CeEngine SQLEngine = New System.Data.SqlServerCe.Engine (connStr) 以上 代 码 完 成 了 在 My Documents 目 录 下 创 建 空 的名为 SampleDB 的数据库。这里还介绍关于一个比 较常用的类— ——SqlCeCommand, 可用来表示对数据源 执 行 的 SQL 语 句 。 当 需 要 向 已 创 建 的 数 据 库 Sam- pleDB 添加一个名为 Bicycle 的库存表, 并定义它的相 关字段时可用以下代码实现,其中 cn 定义了数据源的 连接,使用了 SqlCeConnection 类: Dim cn As System.Data.SqlServerCe.SqlCeConnec- tion cn = New System.Data.SqlServerCe.SqlCeConnec- tion(connStr) Dim cmd As New System.Data.SqlServerCe.SqlCeCom- mand(SQLStr, cn) SQLStr = "CREATE TABLE Bicycle (BicycleID Smallint Primary Key _ NOT NULL,CompanyName nvarchar (40) NOT NULL, Number int NOT NULL)" cmd.CommandText = SQLStr cmd.Connection = cn cn.Open() cmd.ExecuteNonQuery() cmd.Connection.Close() 在 手 持 设 备 上 用 代 码 方 式 或 用 SQLCE Query 创 建 \ 编辑表单是比较麻烦的过程, 在实际应用中的做 法是在初始化时只建立空的数据库, 需要的表单采用 RDA (远程数据访问) 的 Pull 方法从 SQL Server 2000 服 务 器 上“拉 " 到 先 前 创 建 的 数 据 库 中 。 3 SQL Ser ver CE 数 据 库 在 仓 库 物 料巡查系统中的应用 仓库物料巡查传统上采用的是纸张作业方式, 操 作流程是仓库巡查人员领取物资清单后在出入口进 行检查和填写记录, 然后将填好的表格回收到数据中 心, 数据中心的工作人员再手工将信息录入计算机系 统进行处理。缺点是处理周期长, 工作人员工作量大, 费时费力且容易发生人为错误。移动解决方案中, 仓 库巡查人员只需下载对应物料清单到手持 PDA 上, 选 用的 PDA 采用 Windows CE 操作系统。对照此清单检 查, 现场直接在 PDA 上记录, 然后将结果上传。资料的 主要处理过 程 主 要 在 后 端 SQL Server 2000 服 务 器 端 处理, 包括进出物料表单的录入, 检查结果报表的处 理、数据维护等。自动化程度高, 减少了手工录入处理 环节, PDA 具备无线上网功能后可无限扩展系统的覆 盖范围。 因为需要下载物料清单到 PDA 上, 并在 PDA 上 临时保存物料清单, 所以在 PDA 上需要有一个数据库 系统。选择的移动数据库系统即为 SQL Server CE 2.0。 同时, 系统需要 考 虑 手 持 PDA 上 SQL Server CE 2.0 与数据中 心 SQL Server 2000 进 行 双 向 的 数 据 同 步 问 题。 4 SQL Ser ver CE 2.0 与 SQL Ser v- er 2000 数据同 步设计 SQL Server CE 与 SQL Server 之间可以通 过 RDA (远程数据访问)和 Replication(合并复制)两种方式进行 数据同步。 SQL Server CE 2.0 复 制 功 能 基 于 Microsoft SQL Server 合并复制。只能与 SQL Server 2000 配合使用。 允许分别在便携式设备和服务器上自行更新数据。之 技 后可以对该设备和服务器上的数据进行同步, 以将客 户端的更改发送到服务器, 或从服务器接收新的更 术 改。与 RDA 相比, 使用合并复制却有许多优点,如提供 了内置和自定义的冲突解决功能, 通过复制可以同时 创 对多个表中的数据进行同步等。但合并复制需要在服 务器上进行更多的配置和维护。 新 图 1 RDA 数据同步示意图 远 程 数 据 访 问 (RDA) 使 移 动 应 用 程 序 能 够 访 问 远程 SQL Server 2000 数据 库表中的数 据, 并将这些 数据存储在 本地 SQL Server CE 2.0 数据库 表中。 随 后, 该应用程序就可以读取和更新本地 SQL Server CE 2.0 数据库表。SQL Server CE 2.0 可以选择跟踪对本 地表所做的所有更改。之后, 应用程序可以将本地表 中更改过的记录更新回 SQL Server 表。在远程数据访 问 过 程 中, 将 数 据 从 SQL Server 表 传 播 至 本 地 SQL Server CE 表的过程称为 Pull - - " 拉" 数据。将本地 SQL Server CE 表中所做的更改传播回 SQL Server 表 的过程称为 Push - - "推"数据。此外还有 SubmitSQL 方 法可直 接 向 SQL Server 2000 数 据 库 提 交 一 个 无 返 回 行的命令执行。在不需要使用 SQL Server CE 2.0 合并 复制的全部功能(包括冲突解决)时, 适合使用 RDA 方 《 P LC 技术应用 200 例》 邮局订阅号: 82-946 360 元 / 年 - 123 - 嵌入式数据库应用 中 文 核 心 期 刊《 微 计 算 机 信 息 》( 嵌 入 式 与 SOC)2006 年 第 22 卷 第 6-2 期 式。 本 文 采 用 的 解 决 方 案 中 , 服 务 器 端 运 行 SQL Server 2000 并采用配置 IIS 构建应用服务器, 移动端 采用 PDA 并配置 SQL Server CE 2.0。移动端通过 IIS 代理访问服务器端。对表单 的同步处理 采用 RDA 方 式完成。图 1 示意了 RDA 的方式下的数据同步。 RDA 功能实现主要由三部分组成: SQL Server CE 数据库引擎、SQL Server CE 客户端代理和 SQL Server CE 服务器端代理。用户直接通过 SQL Server CE 客户 端代理即可操作数据库。SQL Server CE 客户端代理是 RDA 在移动设备上的主要组件, 它实现了 RDA 的主 要功能, 可以通过程序调用它提供的接口以控制 RDA; SQL Server CE 服 务 器 端 代 理 位 于 服 务 器 端 , 它 与 SQL Server CE 客户端代理通 过 HTTP 协议进行 通 信, 接收并处理 SQL Server CE 客户端代理的命令。 以下代码示例如何通过 RDA 的 Pull 方法在移动 设备上建立“Localtable”表, 并下载 SQL Server 2000 中 技 相应表的数据 。使用 RDA 时需要 创建 SqlCeRemote- DataAccess 对象。 术 Private _strRemoteConnect As String _strRemoteConnect = "provider =sqloledb;data 创 source= MySqlServer; " 新 _strRemoteConnect &="Initial Catalog=Test; User Id=sa; Password=sa;" Private _strLocalConnect As String _strLocalConnect ="Provider=Microsoft.SQLSERV- ER.OLEDB.CE.2.0; " _strLocalConnect& = " Data Source =\My Docu- ments\SampleDB.sdf; " Const _strInternetURL As String = "http:// 10.1.11.25/ssce20/sscesa20.dll" ' 下载表单过程 DownloadTables(ByVal Localtable As String) Public Sub DownloadTables (ByVal Localtable As String) Try Dim rda As SqlCeRemoteDataAccess = New Sql- CeRemoteDataAccess() Dim _strSelectTablerToD As String _strSelectTablerToD = "SELECT * FROM " + Lo- caltable rda.InternetLogin = "user name" rda.InternetPassword = "password" rda.InternetUrl = _strInternetURL rda.LocalConnectionString = _strLocalConnect rda.Pull (Localtable, _strSelectTablerToD, _strRe- moteConnect, _ System.Data.SqlServerCe.RdaTrackOption. TrackingOnWithIndexes) ' 只 有 设 置 了 数 据 跟 踪 选 项 TrackingOnWithIn- dexes 以后才可以将 SQL Server CE ' 中的数据“推”回到 SQL Server 2000 中。 Catch ex As SqlCeException ...... End Try End Sub 这里指定两个重要的参数: ①SQL Server CE 服务 器端 代理的访问 地址 , SqlCeRemoteDataAccess.Inter- netUrl; ②连接 SQL Server CE 数据库的连接字符串: SqlCeRemoteDataAccess.LocalConnectionString; 使 用 了 连 接 SQL Server2000 数 据 库 的 连 接 字 符 串 _strRe- moteConnect 和 选 择 相 应 表 的 SQL 语 句 _strSelect- TablerToD。 检 查 完 毕 后 , 表 单 上 传 采 用 RDA 的 Push 方 法, 用法于 PULL 基本相同, 使用 SqlCeRemoteDataAccess 类的 Push 方法, 示例如下: rda.Push("Localtable ", _strRemoteConnect, _ System.Data.SqlServerCe.RdaBatchOption.Batchin- gOn) 在设计 SQL Server CE 与 SQL Server 之间数据同 步方案时应结合自己的数据同步业务逻辑灵活选择 运用 RDA 或合并复制, 也可自 行设计数据传 输和辨 认规则。本文所述方案只要求对物料清单的同步处 理 , 逻 辑 规 则 简 单 , 所 以 采 用 RD方A 式 即 可 便 捷实现。 5 结论 本 文 介 绍 了 微 软 .NET Compact Framework 架 构 下, 采用 ADO.NET 开发移动设备 SQL Server CE 数据 库应用的新方法。结合仓库物料移动巡查系统的设计 方 案 研 究 了 嵌 入 式 移 动 数 据 库 SQL Server CE 2.0 和 SQL2000 的数据同步问题。SQL Server CE 是目前市场 上较为成熟的嵌入式移动数据库产品, 应用领域正逐 步扩大, 而采用.NET 技术开发其相关应用将是今后的 主流。 参考文献: [1].SQL Server CE Books Online [2]张志红,曹海源.基于 ISA 总线的轴角数字转换卡设计[J].微计 算机信息,2005,2:127- 128 [3]Debra Dove. A Technical Comparison of Replication and Re- mote Data Access Features in SQL Server 2005 Mobile Edition 3.0. MSDN, March 2005. [4]Dan Fergus, Larry Roof . The Definitive Guide to the .NET Compact Framework, Apress,2003, Chapter 13: Working with De- vice- Based Data. 作者简介: 吴飞, 男, (汉族), 哈尔滨工业大学在读研究 生, 研究方向: 嵌入式系统。( 转 188 页) -124- 360 元 / 年 邮局订阅号: 82-946 《现场总线技术应用 200 例》 DSP 开 发 与 应 用 中 文 核 心 期 刊《 微 计 算 机 信 息 》( 嵌 入 式 与 SOC)2006 年 第 22 卷 第 6-2 期 和 Turbo 译码协处理器 (TCP), 两个扩展 存储器接口 (EMIF), 可以与异步(SRAM、EPROM)或同步存储器(SD RAM、SBSRAM、ZBTSRAM、FIFO)无缝连接。C6416GLZ 内核的 8 个功能 单 元 能 够 在 每 个 周 期 内 执 行 4 组 16 位 MAC 运算或 8 组 8 位 MAC 运算, 可以为图像处理 算法获得最大的并行性。C6416GLZ 还专门为 3G 算法 集成了协处理器。协处理器和 C6416GLZ 组合后具有 强大的运算能力, 加上高度专业化的指令系统使 TMS320C6416GLZ 具有功耗小、精度高、高度并行等优 点, 特别适用于图像处理、视频处理等领域。 由上述改进算法检测出的图像边缘, 可以看到该算法 不仅成功抑制了图像中大部分噪声和微小的灰度变 化, 还保证了较高的边缘定位精度。 实验表明, 基于灰度共生矩阵的自适应图像边缘 检测算法可以有效消除图像噪声, 较精确地定位边 缘, 增强了 LOG 算子的实用性。 4 算法实现 本算法在北京昂威公司 AW- DSP6416- 型 图像数 字信号处理箱上调试通过, 该系统由基于 TMS320C6416GLZ 专用信号处理器的图像信号处理板 和图像视频采集板组成, 并配有 16M- 64bit 的 SDRAM 和 512K(可扩充到 1M)的 Flash。系统的图像视频采集 板采用 Philips 公司的 SAA7111AHZ 芯 片, 板载两片 技 128K- 16bit 的 DPRAM 和一片用于控制时序和地址产 术 生的 CPLD。SAA7111AHZ 芯片用于采集 16bit 的标准 复合彩色数字信号, 经 I2C 总线传输至图像信号处理 创 板 (DSP), 处 理 后 , 经 AL250 芯 片 D/A 后 输 出 标 准 的 VGA 信号。整个硬件系统框图如图 2 所示。 新 图 2 改进算法的硬件框图 5 结果分析 以 Lenna 图像为例, 分别进行在值 σ为 1、σ值为 5 和 σ值由自适应算法动态确定三种情况下的边缘检 测。输入图像由 WA- ND968A 型 CCD 摄像头采集。实 验 结 果 分 别 如 图 3~6 所 示 : 图 3 为 采 集 到 的 原 始 图 像, 图 4 为 σ值等于 1 时检测出的边缘图像, 图 5 为 σ 值等于 5 时检测出的边缘图像, 图 6 为 σ值由本算法 确定时检测出的边缘图像。 由图 4 和图 5 可以看出, 当 σ值较小时, LOG 算 子对高反差像素比较敏感, 能够检测出物体的精细边 缘, 并且与实际边缘的一致性较好, 但同时高斯滤波 不彻底, 图像中出现大量的虚假边缘; 当 σ值较大时, 算子能够检测出原图像的边缘, 噪声情况明显减小, 但是边缘间存在相互干扰, 位移严重等情况。图 6 是 图 3 原始图像 图 4 边缘图像 参考文献: [1] 祁帅,穆志纯,徐正光,袁立.基于轮廓合成的人耳图像边缘检 测[J].微计算机信息,2005,7- 3:39- 41 [2] 吴乐茂,舒宁. Marr 方法在多波段遥感影像边缘信息分析中 的应用[J]. 武汉大学学报,2003,26(1):1~3. [3] 何振亚.自适应信号处理[M].科学出版社,2002.4,21 ̄62. [4] 江思敏,刘畅.TMS320C6000 开发教程[M].机械工业出版社, 2005.2,1 ̄10. 作 者 简 介 : 赵 海 涛(1980- ), 男 , 汉 族 , 青 岛 大 学 在 读 研 究生, 研究方向: 信息检测与处理;李万玉(1966- )男, 汉 族, 博士, 副教授, 中国兵器集团 206 研究所。主要 从 事弱信号检测与处理技术研究. (266071 山东青岛大学自动化工程学院)赵海涛 董 介春 (266071 山东青岛市供电公司)张屹 (266071 College of Automatic Engineer ing, Qingdao Univer sity)Zhao,Haitao Dong,J iechun (266012 Qingdao Tsingtao Power Supply Company) Zhang,Yi (投稿日期:2005.12.12) (修稿日期:2006.1.16) ( 接 124 页 ) E- mail: hit_wufei@hitsz.edu.cn;王 昕 , 女 , (汉族), 哈尔滨工业大学深圳研究生院自动控制与机 电工程学科部副教授。 (518055 哈尔滨工业大学深圳研究生院)吴飞 王昕 (518055 Har bin Institute of Technology Shenzhen Gr aduate School) Wu,Fei Wang ,Xin (投稿日期:2005.12.8) (修稿日期:2006.1.10) -188- 360 元 / 年 邮局订阅号: 82-946 《现场总线技术应用 200 例》

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。