如何在SSRS报表的查询字符串参数中传递合法日期参数?
解决方案
- 移除参数值非法后缀
你当前edr参数值为11%2f02%2f2021TO,末尾的TO为多余字符。首先确认报表服务端edr的参数类型:如果是标准DateTime类型,直接删除TO后缀,修改为edr=11%2f02%2f2021完成基础测试。 - 更换无歧义日期格式
SSRS对URL传递的日期格式敏感度极高,MM/dd/yyyy格式受服务器区域设置影响,极易出现月日识别混淆的问题。优先使用ISO 8601标准格式yyyy-MM-dd,比如2021年11月2日的参数直接写为edr=2021-11-02,横杠无需URL编码,兼容性远高于斜杠格式。 - 校验参数取值规则
登录SSRS报表后台,核查edr参数的配置规则:- 是否设置了有效值范围,比如限定仅支持近N天的日期,或要求
edr值晚于sdr参数值 - 是否为多值参数,要求传递多组日期值
- 若该参数为字符串类型的时间范围标识,确认
TO是否需要与日期之间保留空格,正确格式应为11%2f02%2f2021%20TO(空格编码为%20),而非直接拼接在日期后。
- 是否设置了有效值范围,比如限定仅支持近N天的日期,或要求
- 对照自动生成的URL排查
直接打开SSRS报表管理器网页,手动选择edr等所有参数的有效值后生成报表,复制浏览器地址栏自动生成的请求URL,对比其中edr参数的实际格式和你手动拼接的差异,可快速定位格式问题。
内容的提问来源于stack exchange,提问作者Pandiarajan
相关产品推荐
相关产品推荐

