Access教程
  • sql server教程
  • MySQL教程 DB2教程 ORACLE教程
    当前位置:教程 > 数据库 > sql server教程 > 正文

    Updategram 和 Diffgram

    编辑:教程网 来源:网络 时间:2011年08月01日 15:45

    企业领域中的开发工作正日益变为更加利用 Internet 的功能和互操作性。重点已经从开发传统的客户端/服务器应用程序(需要严格定义用于交换数据的数据结构和协议)转向了开发使用 XML 的 Web 应用程序。与传统的客户端/服务器应用程序一样,Web 应用程序也通过 LAN 或 WAN 在不同的逻辑实体之间交换数据。但是,Web 应用程序使用公共 Internet 和 XML,而不使用专用连接和二进制数据格式。在需要访问和更新存储在关系数据库(如 SQLServer)中的数据方面,大多数 Web 应用程序也和客户端/服务器应用程序相似。Web 应用程序必须从 sql server 获取 XML 查询结果,并使用 XML 格式的数据更新 SQL Server。Microsoft 已经通过在 SQL Server 2000、XML for SQL Server 2000 (SQLXML) 和 .NET 框架中实现许多技术满足了这些要求。(有关这些技术的概述,请参阅 2002 年 4 月的“Selecting XML Technologies for Queries and Updates”,InstantDoc ID 24342。)这些技术为构建各种 Web 应用程序提供了坚实的基础。但是,经过证明,处理数据库更新总是比较困难。China It Power . ComUpJ5uRS

    Microsoft 提供了几个用来更新数据库的选项,包括 OpenXML、XML Bulk Load、updategram 和 Diffgram。我们已经在以前的专栏中研究了 OpenXML 和 XML Bulk Load;现在,该介绍 updategram 和 Diffgram 了。用来快速构建实际 Web 应用程序方案的每种技术都有很大的缺陷。在这些应用程序方案中,数据从某个 Web 应用程序进行请求、在客户端位置进行远程修改,随后返回到该 Web 应用程序,以便所做的修改可以存储在数据库中。在这些方案中,对于 Web 应用程序有三个隐含要求。第一个是对开放式更新的需求。由于客户端和服务器之间的 Internet 连接是异步的、短暂的并且有可能是不可靠的,因此 Web 应用程序需要进行开放式更新。如果没有开放式更新,则由于在超时之前仍有许多锁,应用程序和数据库性能会迅速降低。第二个要求是,客户端不需要(而且不应当预知)数据库结构。第三个要求是,客户端需要一种方法来传送对数据进行的更改(包括并发信息),以便克服多个客户端对服务器进行的竞争更新。Updategram 和 Diffgram 是相似的技术,它们都在不同程度上支持这三个要求。因此,假设您正在构建 Web 应用程序,那么应当使用哪种技术?China It Power . ComUpJ5uRS

    UpdategramChina It Power . ComUpJ5uRS

    updategram 是一种 XML 文档,它描述对 XML 查询结果进行的更改。结合使用 updategram 和任何 SQLXML Web 版本,可以对数据库进行开放式更新。Updategram 还支持更新数据库中与 XML 中的分层关系相对应的一个或多个表。例如,可以将嵌套在 XML 定单元素中的定单项插入到数据库的 Order 和 LineItem 表中。尽管 updategram 会尝试满足更新数据的三个要求,但是它们在以下几个方面存在缺陷。China It Power . ComUpJ5uRS

    首先,ADO、SQL Server、SQLXML 或对象模型(如 XML 文档对象模型 (DOM))不支持 updategram。这种缺陷会从三个方面降低 updategram 的有用性。第一,因为 ADO 和 DOM 不支持生成 updategram,所以您必须实现一个直接生成 updategram 语法的客户端代码。更糟糕的是,这项艰巨的任务不能在项目之间进行缩放;每当您希望生成一个 updategram 时,都必须实现该逻辑。第二,在将数据存储到数据库中之前,Web 应用程序通常需要使用业务逻辑来检验和验证数据。同样,您需要用一个对象模型来表达该业务逻辑(因为该技术使用开放式更新),以便确认在从数据库检索数据之后和尝试更新数据之前之间的这段时间内,数据未发生变化。第三,对象模型在理想情况下可使您能够以一种一致的方式来访问更新的数据和原始值。但是,您也需要实现一个代码,该代码除了执行业务逻辑和并发检查,还要解释 updategram 语法。China It Power . ComUpJ5uRS

  • 原文来自 教程网 转载请注明:http://www.websmill.com/shujuku/sql_server/14392.html

  • 上一篇:NET 连接池救生员
  • 下一篇:SQL Server数据库技术(28)
  • 相关阅读