我们有一个SSRS报告接受一个日期/时间输入参数。我们发现报告在从我们的Silverlight客户端执行时失败,并显示以下错误:SSRS报告只接受美国日期参数
“为报告参数'CurrentDate'提供的值对其类型无效。”
在进一步调查中,我们发现,当日期值传递给报告的日期数大于12时,报告失败。 01/01/2011是好的。 17/06/2011将失败。这告诉我们,SSRS框的报告必须以美国格式的日期,即mm/dd/yyyy。
我该如何解决这个问题?到目前为止,我已经尝试了以下内容:
我已经将报告中的Language属性设置为en-GB。这没有什么区别。 我刚刚在执行报告之前更改了Silverlight代码中的语言环境,例如,
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
ExecuteReport();
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
这个工程,但我不满意这个解决方案。这似乎是一个很大的黑客,只是为了让我们的SSRS报告接受日期。
为什么SSRS期望所有的日期参数都是美式格式?我能解决这个问题吗?请帮忙!