我有一个存储过程,返回几千条记录。我需要将XSL应用于此SP的输出。什么是最好的方法呢
对于2,我担心XML大小太大而C#代码读取它会超时。请建议。
答案 0 :(得分:2)
您可以使用命名空间SqlXmlCommand
中的Microsoft.Data.SqlXml
类型。
来自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
如果您担心超时,只需在连接字符串上设置更大的超时。
答案 1 :(得分:0)
我们在平台上使用类似的方法。但是我们不会在存储过程中直接应用XSL,因为我们使用的是MS SQL Server Express,它不允许应用XSL。至少这是我在寻找这个特定主题时所发现的,这种转换需要一个高级版本的MSSQL Server。
输出XML的存储过程很大且很脏(但运行顺利),我们在回读结果时没有任何问题。每个请求最多几秒钟,通常约为几千行,并连接几个表。将VS2010和VB.Net与Telerik组件一起使用。