【问题标题】:What is the best way to create XML for Stored Procedure Output为存储过程输出创建 XML 的最佳方法是什么
【发布时间】:2012-09-05 06:31:40
【问题描述】:

我有一个返回几千条记录的存储过程。我需要将 XSL 应用于此 SP 的输出。最好的方法是什么

  1. 读取数据集中的数据,使用 XmlDataDocument 并应用 XSL
  2. 从 SP 输出 XML 并在其上应用 XSL

对于 2,我担心 XML 大小会太大,C# 代码读取它会超时。请提出建议。

【问题讨论】:

  • 这些记录中的 XML 集实际上可以有多大?

标签: c# sql xml xslt stored-procedures


【解决方案1】:

您可以使用命名空间Microsoft.Data.SqlXml 中的SqlXmlCommand 类型。

来自 msdn here:

SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.CommandText = "SELECT TOP 20 FirstName, LastName FROM Person.Contact FOR XML AUTO";
cmd.XslPath = "MyXSL.xsl";
cmd.RootTag = "root";
...etc 

如果您担心超时,只需在连接字符串上设置更大的超时时间。

【讨论】:

    【解决方案2】:

    我们在我们的平台上使用类似的方法。但是我们不直接在存储过程上应用 XSL,因为我们使用 MS SQL Server Express,它不允许应用 XSL。至少这是我在寻找这个特定主题时发现的,这种转换需要更高版本的 MSSQL Server。

    输出 XML 的存储过程又大又脏(但运行平稳),我们在读取结果时没有问题。每个请求最多需要几秒钟,通常大约几千行作为结果并连接多个表。将 VS2010 和 VB.Net 与 Telerik 组件一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2014-03-28
      • 2013-05-23
      • 1970-01-01
      相关资源
      最近更新 更多