SSRS 报告参数
SSRS report parameter
我在使用正确参数呈现报告时遇到问题。
我们有 RDL 报告,其日期参数的默认值为表达式“=today()”。
在项目中,我在 c# 中有以下代码
for(int i = 0; i < 15; i++)
{
serverReport.SetParameters(new ReportParameter("dt1",date.ToString()));
File.WriteAllBytes(path, serverReport.Render("PDF"));
}
第一次迭代 sql 存储过程使用默认参数调用,后续迭代使用传递日期调用(我用 sql 分析器检查过)。
我想提一下,在循环中我有许多其他报告具有完全相同的默认日期参数,但问题出在这个报告上。我已经比较了 2 个报告中的所有参数属性(一个有效,另一个不能正常工作),但它们是相同的。我找不到任何区别。
如果我删除默认值“=today()”,则报告工作正常。
也许同一个人有类似的问题并向我推荐一些关于这个的东西。提前致谢。
尝试完全删除服务器内的不工作报告(并测试,也是工作之一)并重新部署到服务器。您还可以在报告管理器中检查参数设置,因为差异可能是可见的。
我之前在报告参数方面遇到过此类问题,并且知道在您部署报告时参数设置并未一直被正确覆盖。
需要检查的几件事:
SetParameters
接受 IEnumerable<ReportParameter>
而不是单个 ReportParameter
对象。改为这样称呼它:
serverReport.SetParameters(new ReportParameter[] { ReportParameter("dt1", date.ToString()) } );
确保该参数没有填写可用值和默认值。如果传递的日期不是有效值之一(如果应用),它将不起作用。例如,如果可用值设置为 =Today
,那么唯一能够正确 运行 的报告是第一个恰好使用该值的报告。
您确定 date.ToString()
传递的是适当且有效的日期吗?
服务器上报参数是否与开发环境匹配?参数设置不会自动更新,因此在服务器上所做的任何修改都不会因再次部署报表而被覆盖。检查服务器的报告参数并在必要时更新,或者简单地删除并重新部署报告。
我在使用正确参数呈现报告时遇到问题。 我们有 RDL 报告,其日期参数的默认值为表达式“=today()”。
在项目中,我在 c# 中有以下代码
for(int i = 0; i < 15; i++)
{
serverReport.SetParameters(new ReportParameter("dt1",date.ToString()));
File.WriteAllBytes(path, serverReport.Render("PDF"));
}
第一次迭代 sql 存储过程使用默认参数调用,后续迭代使用传递日期调用(我用 sql 分析器检查过)。
我想提一下,在循环中我有许多其他报告具有完全相同的默认日期参数,但问题出在这个报告上。我已经比较了 2 个报告中的所有参数属性(一个有效,另一个不能正常工作),但它们是相同的。我找不到任何区别。
如果我删除默认值“=today()”,则报告工作正常。 也许同一个人有类似的问题并向我推荐一些关于这个的东西。提前致谢。
尝试完全删除服务器内的不工作报告(并测试,也是工作之一)并重新部署到服务器。您还可以在报告管理器中检查参数设置,因为差异可能是可见的。
我之前在报告参数方面遇到过此类问题,并且知道在您部署报告时参数设置并未一直被正确覆盖。
需要检查的几件事:
SetParameters
接受 IEnumerable<ReportParameter>
而不是单个 ReportParameter
对象。改为这样称呼它:
serverReport.SetParameters(new ReportParameter[] { ReportParameter("dt1", date.ToString()) } );
确保该参数没有填写可用值和默认值。如果传递的日期不是有效值之一(如果应用),它将不起作用。例如,如果可用值设置为 =Today
,那么唯一能够正确 运行 的报告是第一个恰好使用该值的报告。
您确定 date.ToString()
传递的是适当且有效的日期吗?
服务器上报参数是否与开发环境匹配?参数设置不会自动更新,因此在服务器上所做的任何修改都不会因再次部署报表而被覆盖。检查服务器的报告参数并在必要时更新,或者简单地删除并重新部署报告。