在SSRS中生成数据集的首选方法是什么?

时间:2009-09-02 20:16:01

标签: sql-server-2005 sql-server-2008 reporting-services

我正在尝试找出为SQL Server Reporting Services报告(2005/2008)生成数据集的“最佳”(读取:“首选方法”)方法:

  • 报告中查询
  • 存储过程
  • 浏览

但不仅仅是选择上述之一,为什么要使用这种特殊方法呢?另外,请包括您的观点(开发人员/ DBA /等)。

感谢。

3 个答案:

答案 0 :(得分:1)

存储过程。我倾向于为参数和报告数据编写存储过程。通过使用参数数据集的存储过程,可以在报告之间轻松共享它们。对于报告数据,我想确定在报告中的数据和出现的格式之间划清界限。通过保持这条线,我的经验更容易测试和推广报告到生产。

此外,我发现存储过程比查看或报表查询更容易管理和排除故障。

答案 1 :(得分:1)

你不应该对报告中的查询感到烦恼,他们几乎可以玩和练习。但你很难得到一个非常好的报告直接在RS中编写查询。为什么......对于一件事,很多sprocs不仅可以重用于应用程序方面,还可以用于报告方面。您的应用程序可能有各种存储过程用于填充级联的下拉列表/组合框(一个与另一个相关)。您的报告也可能需要此功能。使用存储过程,您可以从报表或应用程序发出对sproc的调用。当sproc发生更改时(如果必须更改),您就可以了,因为您对应用程序存储过程所做的更新也会更新报表的存储过程。

我的投票肯定是存储过程。

答案 2 :(得分:1)

我一直在与MS Reporting Services合作一整年。我发现使用此系统生成报告的最佳方法是通过存储过程从数据访问层运行查询。

如果您发现这样做,则将所有返回的数据集放在一个位置。它使管理更容易。您的所有数据库输出都是从同一位置控制的。

关闭主题,但我还建议您在内存中生成RDLC文件。我们有大约100种不同的报告类型。我们管理ReportEngine类,而不是管理一堆RDLC文件。 ReportEngine类基本上生成了许多不同的报告类型。这是非常先进的,但结果是值得的。使用表格生成RDLC文件的源代码:C#VB.NET