好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

移动设备数据访问技术-ado.pdf

33页
  • 卖家[上传人]:wt****50
  • 文档编号:46515233
  • 上传时间:2018-06-27
  • 文档格式:PDF
  • 文档大小:1.17MB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 移动设备数据访问技术移动设备数据访问技术移动设备数据访问技术移动设备数据访问技术 ADO.NET Sync ServiceADO.NET Sync Service王然王然 微软认证讲师 wangran@点击添加点击添加MSN机器人小新机器人小新点击添加点击添加MSN机器人小新机器人小新为您收听下载为您收听下载MSDN中文网络广播课程加油助力中文网络广播课程加油助力!本次课程内容包括本次课程内容包括本次课程内容包括本次课程内容包括偶连接序• 偶尔连接的应用程序 • 配置数据同步配置数据同步 • N层应用程序 • 系统课程回顾议程议程议程议程偶连接序偶连接序• 偶偶尔尔连接连接的应用程的应用程序序 • 配置数据同步配置数据同步 • N层应用程序 • 系统课程回顾偶尔连接的应用程序偶尔连接的应用程序偶尔连接的应用程序偶尔连接的应用程序偶尔连接的应序种使数库中的数• “偶尔连接的应用程序”是一种使用远程数据库中的数据、 但却不总是能够访问远程数据库的应用程序 虽然远程数据库可随时访问但如果不断地从远程数据库• 虽然远程数据库可随时访问,但如果不断地从远程数据库 查询那些很少发生变化的数据(如状态列表),则可能使 效率很低,这时也可使用偶尔连接的应用程序。

      效率很低,这时也可使用偶尔连接的应用程序 • 在这些情况下,应用程序可以使用位于客户端的本地数据 库中存储的数据,并定期与远程数据库进行数据同步库中存储的数据,并定期与远程数据库进行数据同步 • 此外,除了为需要偶尔连接的应用程序使用本地数据库缓 存外,还可以考虑将很少变化或按照已知时间表更改的数 据存储到本地数据库缓存中数据同步方式对比数据同步方式对比数据同步方式对比数据同步方式对比主要功能主要功能RDA合并复制合并复制Sync Services主要功能主要功能RDA合并复制合并复制Sync Services 使用服务进行同步否否是支持异类数据库否否是支持异类数据库否否是跟踪增量更改否是是冲突检测与解决否是是冲突检测与解决否是是在客户端轻松建立视图否否是自动初始化架构和数据是是是动始化架构数据是是是支持大型数据集是是是可在本地使用查询分析器是是是可在本地使用查询分析器是是是自动传播架构更改否是否在设备上使用是是是在设备上使用是是是使用使用 Sync Services 同步数据同步数据使用使用 Sync Services 同步数据同步数据• 可以对缓存进行配置,以存储单个表、表 集合、或从表查询到的特定记录(例如,集合或从表查询到的特定记录例如 拥有特定销售代表的客户)。

      客户端数据库与服务器数据库之间的数据• 客户端数据库与服务器数据库之间的数据 同步是由 Microsoft Synchronization SfOServices for ADO.NET (Microsoft.Synchronization.Data 命名空y 间)实现的Synchronization Services APISynchronization Services API命空• 命名空间:Microsoft.Synchronization.Data • Microsoft Synchronization Services forMicrosoft Synchronization Services for ADO.NET 是专为偶尔连接的应用程序设计 的的 • 可以通过双层、n 层和基于服务的体系结构, 在异类源之间同步数据 • Synchronization Services API 不仅复制数• Synchronization Services API 不仅复制数 据库及其架构,而且提供了一组组件,可 在数据服务和本地存储区之间同步数据在数据服务和本地存储区之间同步数据。

      安装安装 Sync Services API 和文档和文档安装安装 Sync Services API 和文档和文档不属• Synchronization Services API 不属于 .NET Framework,而是 SQL Server Compact 3.5 安 装的部分默认情下安装时装的一部分(默认情况下,安装 Visual Studio 时 会安装 SQL Server Compact 3.5) • 若要安装 Synchronization Services 文档以便于 本地使用,必须先从 Microsoft Synchronization y Services for ADO.NET Books Online (Microsoft Synchronization Services for ADO.NET 联机丛 书)网站下载帮助集合议程议程议程议程偶连接序• 偶尔连接的应用程序 • 配置数据同步配置数据同步配置数据同步配置数据同步 • N层应用程序 • 系统课程回顾在应用程序中配置数据同步在应用程序中配置数据同步在应用程序中配置数据同步在应用程序中配置数据同步本地数据库缓存使用数据库在• 本地数据库缓存使用 SQL Server Compact 3.5 数据库在 本地存储数据。

      可以将现有的 SQL SCt 3 5 数据库用作本地• 可以将现有的 SQL Server Compact 3.5 数据库用作本地 数据库缓存 • 如果还没有本地数据库可以设置“配置数据同步”对话• 如果还没有本地数据库,可以设置“配置数据同步”对话 框,以创建一个新的本地数据库 • 在向应用程序中添加本地数据库并完成“配置数据同步”• 在向应用程序中添加本地数据库并完成配置数据同步 对话框的设置后,还必须向应用程序中添加启动同步的代 码 • 成功同步数据后,还必须添加代码,以便从本地数据库重 新填充数据集中的表配置数据同步配置数据同步””对话框对话框配置数据同步配置数据同步对话框对话框• “配置数据同步”对话框仅可用于为下载方案配 置 Microsoft Synchronization Services for ADO.NET • 也就是说,在使用“配置数据同步”对话框配置 数据同步之后,调用 Synchronize()方法将只能利 用在远程数据库上找到的更改来更新本地数据库 • 对本地数据库上的数据所进行的更改将不会上载 到远程数据库到远程数据库 • 在使用“配置数据同步”对话框配置数据同步之 后可以用编程方式在同步期间启用上载(双向后,可以用编程方式在同步期间启用上载(双向 同步)。

      配置数据同步配置数据同步务连接提供到程数据库的数据连接• 服务器连接:提供到远程数据库的数据连接 • 客户端连接:提供到本地数据库的数据连接,或 在客户端上创建新的数据库 • “缓存的表”:从远程连接选择您要在您的应用缓存的表:从远程连接选择您要在您的应用 程序中使用的表 • 为每个要添加到本地数据库中的表选择协调更• 为每个要添加到本地数据库中的表,选择协调更 改所需的列和用于存储删除项的表除了跟踪已 删除记录的表之外每个表还需要跟踪新记录和删除记录的表之外,每个表还需要跟踪新记录和 已修改记录的特定列远程数据库所需的附加项远程数据库所需的附加项远程数据库所需的附加项远程数据库所需的附加项远程数据库上的每个已同步的 表的附加项说明在每个要同步的表上此列应该是 D t Ti或 TiSt将该列与 LastEditDate 列在每个要同步的表上,此列应该是 DateTime 或 TimeStamp将该列与 客户端上的 LastEditDate 列进行比较,就可以识别自从上次同步调用以 来服务器中的已修改记录在每个要同步的表上此列应该是 DateTime 或 TimeStamp将该列与 CreationDate 列在每个要同步的表上,此列应该是 DateTime 或 TimeStamp。

      将该列与 客户端上的 CreationDate 列进行比较,就可以识别自从上次同步调用以 来添加到服务器中的记录已删除项表项从数据库服务器上的表中删除后,将被移到此表中此操作的目的在于已删除项表 (TableName_Deleted)项从数据库服务器上的表中删除后,将被移到此表中此操作的目的在于 记载自从上次同步调用以来从服务器删除的记录要同步的每个表都需要 一个已删除项表,以跟踪从远程表中删除的记录每次从服务器数据库表删除记录时此触发器都会运行已删除的记录会DeletionTrigger (TableName_DeletionTrigger)每次从服务器数据库表删除记录时,此触发器都会运行已删除的记录会 被移到已删除项表中之所以要将它们移到已删除项表中,是因为客户端 数据库中存在的、服务器数据库中不存在的记录,可能会被视为新记录, 并被添加回服务器中Synchronization Services 可检查已删除项表,以 确定它应该从客户端数据库中删除已删除的记录而不是将该记录添加回确定它应该从客户端数据库中删除已删除的记录,而不是将该记录添加回 服务器数据库中InsertTrigger (TableName InsertTrigger)添加新记录时,此触发器会以当前的日期和时间填充 CreationDate 列。

      TableName_InsertTrigger) UpdateTrigger (TableName_UpdateTrigger)修改现有记录时,此触发器会以当前的日期和时间填充 LastEditDate 列启用同步启用同步启用同步启用同步• 添加“本地数据库缓存”并在“配置数据 同步”对话框中提供配置信息后,还必须同步对话框中提供配置信息后必须 向您的应用程序添加代码才能实际同步本 地数据库和远程数据库地数据库和远程数据库 • 通过调用 SyncAgent 的 Synchronize 方法 可以启动同步可以启动同步 • 然后,可以调用 TableAdapter.Fill 方法以然后,可以调用 TableAdapter.Fill 方法以 本地数据库中已更新的数据加载数据集的 数据表数据表同步方向同步方向同步方向同步方向载步• 仅下载同步 • 仅上载同步仅上载同步 • 快照同步 • 双向同步无法缓存的表无法缓存的表无法缓存的表无法缓存的表户默架构• 不使用用户默认架构的表 • 未定义主键的表未定义主键的表 • 名称超过 118 个字符的表 • 包含数据类型不受 SQL Server Compact 3.5 支持的列的表。

      3.5 支持的列的表演示演示演示演示实数步• 配置 Sync Services 实现数据同步议程议程议程议程偶连接序• 偶尔连接的应用程序 • 配置数据同步配置数据同步 • N层应用程序层应用程序 • 系统课程回顾N 层数据应用程序层数据应用程序N 层数据应用程序层数据应用程序数序个• “N 层”数据应用程序是指分为多个层的 数据应用程序数据用程序 • 这种应用程序又称为“分布式应用程序” 和“多层应用程序”它们将处理分为多和“多层应用程序”,它们将处理分为多 个部分,并在分布于客户端和服务器之间 的相互独立的层中执行的相互独立的层中执行 • 开发访问数据的应用程序时,应该清楚地开发访问数据的应用程序时,应该清楚地 界定组成应用程序的各个层数据层数据层数据层数据层数中客户端直接• 数据层不能从表示层中的客户端直接访问 • 实际上,表示层和数据层之间的通信是通实际上,表示层和数据层之间的通信是通 过中间层中的数据访问组件来完成的中间层中间层中间层中间层 • TableAdapter 和 DataAdapter • 数据的对象表示形式,例如 LINQ to SQL 实体类数据的对象表示形式,例如Q to SQ实体类 • 公共应用程序服务,例如身份验证、授权和个性化表示层表示层表示层表示层• 数据绑定组件 • 数据的对象表示• 数据的对象表示 • 本地数据库缓存向向 N 层应用程序添加本地数据库缓存。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.