从报表服务上的字符串转换datetime时转换失败

时间:2011-10-31 08:36:44

标签: reporting-services ssrs-2008

当我转换或转换字符串到日期时从sql服务器上的t-sql运行成功我的查询但是当我在报告服务上分配数据集查询时,我接受此错误。

'从字符串转换日期时转换失败。'

3 个答案:

答案 0 :(得分:3)

这取决于您服务器上的区域设置。我想你的报告服务服务器认为几天和几个月与你的SQL服务器处于相反的位置。

在不考虑区域设置的情况下,始终正确地从字符串转换日期的最简单方法是使用军事日期格式:YYYY-MM-DD

军事格式始终正确转换。

答案 1 :(得分:3)

在DataSet属性窗口中编辑参数时,请确保不要忘记将括号放在“参数值”字段上:

这会产生转换错误:

Parameter Name        Parameter Value
@queryDateParameter   @reportDateParameter

正确的是:

Parameter Name        Parameter Value 
@queryDateParameter   [@reportDateParameter]

答案 2 :(得分:2)

尝试通过SSRS传递参数时遇到了同样的问题。 当参数类型为文本时,SSRS使用服务器区域设置进行转换,在这种情况下,MM / DD / YYYY和DD / MM / YYYY差异导致此错误。

我的解决方案是将参数类型更改为datetime。这样可以强制正确处理转换。