
时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)
Microsoft SQL Server 2005 Mobile Edition 3.0 (SQL Server Mobile) 支持两种与 SQL Server 数据库交换数据的方法:
◆合并复制,提供一种强大且功能齐全的解决方案,该解决方案允许移动应用程序对复制的数据自行更改,然后再将这些更改与 Microsoft SQL Server 数据库进行合并,并在必要时解决冲突。
◆远程数据访问 (RDA),使移动应用程序能够方便地将远程 Microsoft SQL Server 数据库表中的数据读取(拉)到本地 SQL Server Mobile 数据库表中,或者将本地 SQL Server Mobile 数据库表中的数据发送(推)到远程 Microsoft SQL Server 数据库表中。RDA 还可用于在运行 SQL Server 的服务器上发出 SQL 命令。
将 SQL Server Mobile 连接到 SQL Server
使用 RDA 或复制功能时,SQL Server Mobile 将通过 Microsoft Internet Information Services (IIS) 服务器连接到 SQL Server。由于与 SQL Server 的连接由 IIS 处理,因此您的设备只需能够使用 HTTP 或 HTTPS 协议连接到 IIS Web 服务器即可。这样一来,您就可以通过支持 HTTP 的任何类型的网络连接执行 RDA 和复制操作了,包括:局域网 (LAN)、广域网 (WAN) 和 Microsoft ActiveSync? 连接。
RDA 和复制功能都非常适合无线传输。它们采用压缩来减小传输数据的大小,并采用加密在传输期间保护敏感的用户数据。
在连接到 SQL Server 时,RDA 和复制功能都支持集成 Windows 身份验证和 SQL Server 身份验证。
合并复制简介
SQL Server Mobile 复制基于 Microsoft SQL Server 合并复制。可以使用 Microsoft SQL Server 2000 数据库或 Microsoft SQL Server 2005 数据库来实现合并复制。
合并复制非常适合移动应用程序,因为它允许分别在便携式设备和服务器上自行更新数据。之后可以对该设备和服务器上的数据进行同步,以将客户端的更改发送到服务器,或从服务器接收新的更改。
尽管与 RDA 相比,合并复制需要在服务器上进行更多的配置和维护,但是使用合并复制却有许多优点,包括:
◆复制提供了内置和自定义的冲突解决功能。
◆通过复制可以同时对多个表中的数据进行同步。
◆复制提供了丰富的数据复制选项,包括:
·选择文章类型并进行筛选以提高性能
·标识范围管理
◆Microsoft SQL Server 包括大量工具,可用于:
·创建和同步 SQL Server Mobile 订阅
·监视订阅者的每次发布活动
有关合并复制功能工作原理的一般信息,请参阅 SQL Server Books Online 中的&How Merge Replication Works&。有关 SQL Server Mobile 订阅者的相关复制信息,请参阅 SQL Server Mobile Books Online 中的&How Replication Works&和&Replication Architecture&。
远程数据访问 (RDA) 简介
远程数据访问 (RDA) 使移动应用程序能够访问远程 SQL Server 数据库表中的数据,并将这些数据存储在本地 SQL Server Mobile 数据库表中。随后,该应用程序就可以读取和更新本地 SQL Server Mobile 数据库表。SQL Server Mobile 可以选择跟踪对本地表所做的所有更改。之后,应用程序可以将本地表中更改过的记录更新回 SQL Server 表。
在 SQL Server Mobile 中,将数据从 SQL Server 表传播至本地 SQL Server Mobile 表的过程称为&拉&数据。将本地 SQL Server Mobile 表中所做的更改传播回 SQL Server 表的过程称为&推&数据。
在不需要使用 SQL Server Mobile 合并复制的全部功能(包括冲突解决)时,适合使用 RDA。
决定在 SQL Mobile 应用程序中使用远程数据访问 (RDA) 功能还是复制功能,取决于移动应用程序的用途、功能、规模和要求。每种连接数据解决方案都有各自的优缺点。这些优缺点将在随后各节中加以讨论。
功能对比
本节简要介绍对复制与远程数据访问 (RDA) 之间的可对比功能支持的差异。本节的主要目的并不是介绍复制或 RDA 的每项可用功能,而只是提供可对比的那些功能的对比。例如,有许多复制功能没有相应的 RDA 功能,因此这些就不是本文所探讨的内容。
服务器侵害
SQL Server Mobile 的大量合并复制功能来自于 SQL Server 的合并复制功能。SQL Server Mobile 通过订阅 SQL Server 发布产品来利用这些功能。通过在服务器上创建发布,可以将大量的系统表添加到即将发布的数据库中,并将&唯一标识符&系统列添加到即将发布的每个用户表中。这些系统对象将被添加到服务器数据库中,用于对复制进行管理。RDA 不需要对服务器上的数据库进行任何更改。由于 RDA 对服务器上的架构没有侵害性,因此 RDA 的功能有一定限制,不像复制那样功能齐备,但是该功能可用于在 SQL Server 与 SQL Server Mobile 之间传输数据,而无需任何服务器端配置工作。在有些情况下,您可能无权变更后端系统中的架构。如果是这种情况,RDA 是潜在的连接选择,可用于在 SQL Server 与 SQL Server Mobile 之间传输数据更改。如果需要强大的复制功能而且无法变更后端数据库架构,则可以考虑的另一个选择是使用中间层 SQL Server 作为复制服务器,然后使用其他无侵害技术 [如数据转换服务 (DTS) 和 Web 服务] 将数据传输到后端系统。
简而言之,复制功能需要对服务器数据库的架构进行一些细微的更改,但通过这些更改可获得一组非常强大的功能,而 RDA 不需要对服务器数据库进行任何更改,但它不是功能齐备的连接解决方案。
数据和架构定义
如上文所述,您需要通过在服务器上创建发布来进行复制准备。要复制到订阅者的数据和架构将在服务器上创建发布时指定。首次创建订阅时,将在客户端自动定义架构。发布定义了要复制到订阅者的表(文章),包括行筛选(使用 WHERE 子句限制数据流)和列筛选(限制表中要复制的列)。发布可以包含一个或多个表。在 SQL Server Mobile 数据库中,整个发布定义(包括正在复制的表的数据和架构)是使用一种同步方法创建的。
使用 RDA 时,客户端控制从服务器中传输哪些数据,包括数据定义(包括行筛选)和架构定义(包括列筛选)。RDA 在每个 RDA 拉进程中只能对一个表进行同步,这与复制有所不同,后者可以在一次同步操作中处理多个表。
简而言之,最初在 SQL Server Mobile 数据库中创建的数据和架构在服务器上是使用复制功能进行定义的,而在客户端上是使用 RDA 进行定义的。复制发布可以包含多个表,而 RDA 每次下载(RDA 拉进程)只能处理一个表。
架构更改
使用复制功能时,在最初创建订阅后可以将架构更改(如添加或删除列,添加或删除约束,以及更改列定义)复制到订阅者。当需要将挂起的架构更改复制到订阅者时,将首先复制架构更改,然后在发布者与订阅者之间交换所导致的增量更改。服务器架构更改(例如,添加列或删除应用程序中未在使用的列)不一定会要求对应用程序进行更改和重新编译。允许对订阅数据库的架构进行细微的更改。有关详细信息,请参阅 SQL Server Mobile Books Online 中的&Replication Limitations&。
使用 RDA 时,不支持在服务器上进行架构更改。如果进行了架构更改,从客户端到服务器的推操作可能会失败。如果更改了服务器架构,则客户端必须先删除表,然后再次从服务器拉出所有数据。更改服务器架构可能会要求对应用程序进行更改并重新编译。允许对客户端的架构进行细微的更改。有关详细信息,请参阅 SQL Server Mobile Books Online 中的&Remote Data Access (RDA) Limitations&。
简而言之,使用复制功能时,支持服务器架构更改,而且服务器架构更改不会导致订阅者上的数据丢失。但是,使用 RDA 时,不支持服务器架构更改,而且服务器架构更改可能会导致客户端的数据丢失。复制和 RDA 功能均允许对 SQL Server Mobile 连接表进行细微的架构更改。
标识列
在许多应用程序中,您可能需要使用递增的编号来管理在客户端数据库中插入的记录。例如,如果用户正在表中输入新订单,则您可能需要为每个订单分配自动递增的编号。使用这类系统时,必须确保这些编号在客户端之间不会引起冲突。对于发布和订阅,复制功能支持 integer 和 bigint 列的自动标识范围管理。使用自动标识范围管理,可以确保无论有多少客户端,都不会发生行冲突。有关使用此复制功能的详细信息,请参阅 SQL Server Books Online 中的&Replicating Identity Columns&。
使用 RDA 时,不支持标识列的自动管理。要使用此数据类型属性,必须在整个系统中手动管理值。
约束和索引
由于复制功能支持在发布定义中使用多个表,因此引用完整性约束和索引会自动从服务器复制到订阅数据库。
而由于 RDA 每次只能拉一个表,因此不会传输引用完整性约束,但是可以传输索引。其他架构定义必须在客户端进行定义。
交换跟踪数据更改
使用复制功能时,将分别在发布数据库和 SQL Mobile 数据库中创建系统对象,前者是在创建发布时建立,而后者则是在创建订阅时建立的。这些对象允许在 SQL Server 与 SQL Server Mobile 之间使用非常强大的数据交换模型。复制功能可用于跟踪发布和订阅数据库中的更改。发布者与订阅者之间的数据流控制有两种跟踪级别:
◆表的行级别跟踪会导致在同步期间传输整个行。这种跟踪级别对依赖于连接速度的数据传输而言可能代价较高,但需要在发布者和订阅者上存储的跟踪信息较少。
◆列级别跟踪不仅跟踪行中的更改,而且还跟踪列级别上的更改,因此可以只将更改的列数据从订阅者传输到发布者,从而减少了传输的数据量。发布者始终会将整个更改的行发送到预定者,原因是它不能确定该
关键词标签:数据,方法,交换,数据库
相关阅读 sql server系统表损坏的解决方法 SQL Server asp.net 数据提供程序连接池 SqlServer2005对现有数据进行分区具体步骤 一个Access数据库数据传递的实例方法 为导入文件加上时间戳标记的两种方法 SQL Server 2005 在不允许远程连接的情况下的破解
热门文章
sql server系统表损坏的解决方法
SqlServer2005对现有数据进行分区具体步骤
解决SQL Server中Group无法实现的问题
SQL Server 2005降级到2000的正确操作步骤
手把手教你学会SQL Server镜像操作
实战手记:让百万级数据瞬间导入SQL Server
人气排行 配置和注册ODBC数据源-odbc数据源配置教程 如何远程备份(还原)SQL2000数据库 SQL2000数据库远程导入(导出)数据 SQL2000和SQL2005数据库服务端口查看或修改 修改Sql Server唯一约束教程 SQL Server 2005降级到2000的正确操作步骤 sql server系统表损坏的解决方法 浅谈JSP JDBC来连接SQL Server 2005的方法 SQL Server创建表语句介绍 MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系 如何使用SQL Server中的客户端配置工具 SQL Server 分布式查询:OLE DB连接(一)
查看所有0条评论>>