SSRS数据驱动订阅:查询指定渲染格式时PDF无效问题求助
问题:数据驱动订阅中PDF格式渲染报错
我需要向不同用户发送同一份订阅但采用不同格式,目前数据驱动订阅查询已正常运行。部分用户需PDF格式的报表邮件,部分需Excel格式,因此使用如下CASE语句:
case when username = 'X' then 'EXCELOPENXML' else 'PDF' end as render_format
随后在邮件传递选项中,将渲染格式来源设为「从数据集获取值」,字段选择render_format。所有指定EXCELOPENXML的记录均成功投递,但PDF渲染在日志中出现错误:
Success: False, Status: The value 'PDF' is not valid for setting 'Render Format'.
我查看了报表服务器配置文件,其中渲染名称为PDF,通过下拉选择PDF时报表可正常投递为PDF格式,且MHTML格式也能正常工作。请问PDF对应的正确渲染格式名称是什么?
解决方案
在SSRS数据驱动订阅中,PDF对应的正确渲染格式名称确实是PDF,出现报错可从以下几点排查:
- 确认数据集返回的
render_format字段值无多余空格或隐藏字符,可在查询中添加TRIM()函数确保字符串纯净:case when username = 'X' then 'EXCELOPENXML' else TRIM('PDF') end as render_format - 检查报表服务器的PDF渲染扩展是否正常启用,打开报表服务器配置文件(
rsreportserver.config),确认以下配置节点存在且未被注释:<Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering"/> - 若上述操作无效,尝试使用全小写的
pdf作为渲染格式名称,部分SSRS版本对大小写敏感。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

