将数据转换成XML
将ClientSideXml属性设置成True来实现这一步。你仍然用带有FOR XML子句的SELECT语句,但是当你将ClientSideXml设置为True时,在将语句传送到SQL Server前,托管类将FOR XML子句从SQL语句中去掉了。数据库不再看到FOR XML子句,可以更有效地将数据流返回给客户端。然后,SQL托管类在客户端将数据流转换成XML。
通过调用ExecuteXmlReader方法来执行SELECT语句,该方法返回一个XmlReader对象。然后,你将XmlReader对象载入一个XmlDocument,并将产生的OuterXml返回给调用者。
最后一个数据存取API是运用ADO 2.6和Visual Basic 6.0。通过打开一个新的VB6 ActiveX DLL项目来创建这个项目。重新命名Class1为ADO26,命名项目为DBXMLVS6。然后,给项目添加ActiveX Data Objects 2.6引用。一旦完成这一步,就给你的类添加ExecuteSelect方法(见列表3)。
同所有其它例子一样,你先要创建并打开你的数据库连接。然后,创建新的Command对象,并给Connection对象设置其ActiveConnection属性。SELECT语句同ADO.NET例子中用的SELECT语句一样。
图1. 看看哪种API最快
将Execute方法的返回值设置给RecordSet对象。你需要创建一个ADO Stream对象将结果集转换成XML。将Stream的Type属性设置成adTypeText,并打开它。打开后,在你的结果集上调用Save方法,指明你想把结果集保存为XML。一旦XML在数据流中,用ReadText方法将它返回给调用者。
通过创建简单的ASP和ASP.NET页面,调用组件并将XML返回给浏览器,我们就可以测试每种API实现的性能和可扩展性(在图1中可以看到结果,关于更详细的结果,请参考工具条“测试记录”。关于这些ASP和ASP.NET页面,请在此下载代码。)
随着Microsoft不断增加新的功能并改进性能,XML数据存取APIs也在不断发展。因为未来的SQL Server版本将增加对XML的本地支持,而且APIs通过利用这些功能得以不断增强,所以API不断发展的这个趋势也将持续下去。然而,如今现有的APIs已经提供了强大的功能和性能组合,可以使你构建高性能的XML应用程序。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
企业IT架构术语之Amazon Dynamo数据库
Dynamo可以用来形容一个精力充沛的人。不用如此惊讶,Amazon Dynamo数据库的创建正是要延续这一理念。
-
2014年的云计算之战
预测未来的云计算市场,就得先看一眼2013年的市场表现。在2013年,“云”被80%的企业用户用来进行云计算、数据库和数据存储。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。
-
企业SOA的安全性问题不容忽视
SOA为那些要实施跨部门、跨系统和跨企业集大的机会,允许企业在不放弃和不更换老式系统的情况下重新焕发青春,但也有一些需要注意的问题。