您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > 数据库 > 正文
使SQL Server数据支持 XML
[文章信息]
作者:燕空
时间:2003-06-07
出处:天极论坛
责任编辑:方舟
[文章导读]
如果你在IT业工作,那么你很可能听说过XML......
advertisement
热点推荐
· 11.15软件精选 制作MSI文件
· 闪客五周年之闪客光荣榜
· 用Winamp“品尝”无限音乐
· 网络加、解密的技术应用
· 闪客五周年之闪客光荣榜:zoron
[正文]

上一页  1 2  

  通过SQLXML得到更多的支持

  通过发布SQLXML(也被称为Web版),Microsoft也在SQL Server中提供了更多的XML支持。已经有三个SQLXML的版本了,它们包含的一些额外的功能有updategram和XML Bulk Load。你可以在线下载最新的版本SQLXML 3.0(见资源)。你可以通过基于XML的模板,运用updategram来插入、更新或删除表中的数据。该模板有一个before block,它描述了记录更新前的当前状态;还有一个after block,它描述了记录的变化。下面就是updategram的一个例子,它修改了Shippers表中的一个公司的Phone字段:

<updg:sync >
<updg:before>
<Shippers ShipperID="3" />
</updg:before>
<updg:after>
<Shippers Phone="(503) 555-0108" />
</updg:after>
</updg:sync>

  在缺省情况下,updategrams认为before block和after block中的字段指的是表和列。但updategrams也可以用一个mapping schema。Mapping schema将一个XML文档中的元素与一个表中的元素关联了起来。如果在上面的模板中,你引用属性名SID,而不是ShipperID,那么mapping schema就会将SID映射到ShipperID列。你可以通过HTTP(同模板查询一样)或通过ADO将updategrams发送到SQL Server。它们也可以被参数化,带有输入值。Updategrams提供了一个方法,使我们可以直接从XML更新SQL Server数据,这样就不用从XML文档得到数据,然后再用一个记录集或调用一个存储过程了。Updategrams只是可以简单地插入、更新或删除数据,所以如果你需要查看一个值是否存在、或在更新前查看一些商业规则,那么你就应该用OPENXML。

  虽然你可以用OPENXML函数和updategrams来插入数据,但对于加载大量的XML数据来说,这两种方法都不实用。你应该用XML Bulk Load将大量的XML数据插入到SQL Server表中。实际上,我们是用SQLXMLBulkLoad组件来加载数据的,你可以从一个客户端应用程序来调用这个组件。在建立到数据库的连接后,bulk load组件需要一个路径来访问mapping schema,从而将XML属性和元素映射到数据库对象,而且还需要路径来访问一个XML文档或一个XML流。在Bulk Load组件中,你可以指定是否执行数据表检查约束(check constraint)、是否忽略通过复制键添加的记录、当插入数据时,是否应该锁定数据表,等等。

  缺省情况下,大量加载不是事务处理型(transactional)的,所以如果出现错误,截止到错误点前插入的数据就会保留在数据库中。你可以指定所有加载的数据都是在一个单独的事务处理过程中的,因此该过程要么会十分成功,要么会回滚。如果你用了事务处理,所有的数据在插入前都会被写进一个临时的文件。这就意味着,你需要足够的磁盘空间来保存临时文件,而且加载数据可能会相当慢。XML Bulk Load给我们提供了一个很好的方法,使我们可以将大量的数据写到SQL Server中;否则,你就必须提取数据,然后用另外的方法将它加载到你的数据库中。

  你也可以配置SQL Server来缓存XSLT样式表、模板和mapping schema,从而得到更好的性能。根据具体实现情况,你可以在Web应用程序中用通过HTTP和XSLT的XML查询来替代标准的ASP/ADO数据访问,从而得到HTML输出结果,这种方法可以极大地提高性能。

  以上就是SQL Server对XML的一些高级支持。不管我们对它的宣传有多少,XML的功能就这么多了。因为XML是用来显示数据的一个标准,也是用于.NET的数据传输技术,因此,XML与SQL Server的集成能力就会是企业需要解决的一个重要的问题。


上一页  1 2  

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • SQL Server与Access、Excel的数据转换
  • 11.15软件精选 制作MSI文件
  • 闪客五周年之闪客光荣榜
  • 兰欣推出我国第一款网络游戏专用音箱
  • 玩家发现117亡灵种族Bug
  • [配置推荐]极品HIFI配置
  • 东瀛美少女COSPLAY(55)
  • 用Winamp“品尝”无限音乐
  • 迷你型PStwo全面透析专题
  • Advertisement