【问题标题】:Changing the dataset on a server executed SSRS Report更改执行 SSRS 报告的服务器上的数据集
【发布时间】:2015-11-04 13:38:12
【问题描述】:

我正在尝试缩小从服务器生成的 SSRS 报告返回的结果范围,但客户请求的字段太多,因此无法通过参数轻松地在预定义的 SQL 语句中执行此操作。

是否可以从 .NET 向报告服务器传递一条语句,该服务器将作为其数据源执行,而不是预先配置的?完整的语句或WHERE 子句都可以。

如果没有,是否可以评估发送到存储过程的参数?我知道安全隐患。

【问题讨论】:

标签: sql .net sql-server stored-procedures reporting-services


【解决方案1】:

从架构上讲,如果客户请求的报告包含不可行的参数数量,他们可能想要考虑创建一个 Analysis Services 模型,并使用 Excel 或其他工具将数据切分到他们心中的内容。

我不能说 .NET 选项,但您绝对可以在报告数据集中使用存储过程,但我不确定这对您有什么帮助,因为它仍然需要将参数传递给它.

【讨论】:

    【解决方案2】:

    我们决定将参数路由到存储过程中,该存储过程使用该参数执行 sql 查询。其他参数使用 Prompt 作为友好名称,使用 Name 作为列名,程序根据这些信息构造一个 where 子句,并将其传递给报表的查询参数。这不是一个完美的解决方案,但我们已经关闭了所有可以注射的孔并且它有效。有时你必须为此感到高兴。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多