我试图缩小从服务器生成的SSRS报告返回的结果范围,但客户要求太多字段,以便能够轻松地将参数放入预定义的SQL语句中。
是否可以将一条语句从.NET传递到服务器将作为其数据源执行的报告服务器而不是预先配置的语句?完整的陈述或WHERE
条款都可以。
如果没有,是否可以评估发送到存储过程的参数?我知道安全隐患。
答案 0 :(得分:0)
从架构上讲,如果客户要求报告中包含不可靠的参数,他们可能会考虑创建一个Analysis Services模型,并使用Excel或其他工具将数据切片并切成心脏内容。
我无法使用.NET选项,但您绝对可以在报表数据集中使用存储过程,但我不确定这对您有何帮助,因为它仍然需要参数被传递给它。
答案 1 :(得分:0)
我们决定将参数路由到存储过程,该存储过程使用参数执行sql查询。其他参数使用Prompt作为friendlyname,Name作为列名,程序根据此信息构造where子句并将其传递给报告的查询参数。这不是一个完美的解决方案,但我们已经关闭所有注射孔,它可以工作。有时你必须对此感到满意。