【发布时间】:2012-09-19 15:09:11
【问题描述】:
我在 VS 2008 中创建了一个 SSRS 报告,并在 Windows Server 2012 上运行它。当我从报告管理器运行报告时,它运行没有问题。但是,当我设置预定订阅时,我收到以下错误消息:发送邮件失败:呈现报告期间发生错误。邮件不会被重新发送。
我尝试了许多渲染格式选项,包括 Excel、Word 和 CSV。它在每种格式上都失败了。我确实尝试了“带有报告数据的 XML 文件”选项并发送了邮件。我还使用了“包含链接”选项而不包含报告并且有效。
我还在“处理选项”中将“报告超时”选项设置为“不要超时报告”,但问题仍然存在。
我也在运行另一个相同的报告,除了时间间隔,它运行良好。失败的报告捕获每周数据,而运行正常的报告捕获每月数据。
对这份报告的内容有什么想法吗?我已经提供了我能想到的所有信息,但是如果有人需要任何其他信息,请告诉我!感谢您的帮助!
【问题讨论】:
-
我的第一个想法是您需要将 SSRS 配置为使用邮件服务器,但您还有另一个有效的报告,对吧?下一个问题是报告何时呈现?可能是在晚上服务器很忙的时候。我会在日志中查看报告服务器并查看错误的详细信息。最后一条线索是每月数据有效,但每周数据无效。结果文件有多大?也许它对于您的电子邮件网络来说太大了。
-
感谢@Davos 的想法。我会检查服务器日志并告诉你我发现了什么。
-
我认为您的问题是身份验证。另一个报告是否使用不同的数据源?报告呈现为哪个用户?如果您习惯于使用 Windows 身份验证运行报告,那么当没有真实用户提供身份验证时,报告管理器使用什么用户?理想情况下,当您进行电子邮件或其他订阅时,您可以设置一个特定用户,您可以使用数据源设置保存该用户,然后它就会起作用。
-
感谢达沃斯的意见。在检查日志并没有发现任何内容后,将报告搁置以等待其他优先事项,我们回到它并从头开始。最初,我们重命名报告以删除一些空格和字符(一些早已离开的人留下的不良做法)。一旦我们这样做并对其进行了测试,一切正常,并且已经工作了大约一周。尽管我们的团队现在使用标准的编程实践,但仍有很多遗留的东西。我不知道这是 SSRS 的问题,但它似乎已经解决了这个问题。
-
我不倾向于在报告名称中使用空格,但我刚刚查看了一下,在我的一台 2008R2 服务器上有一堆名称中有空格的报告。这是你唯一改变的吗?您是否也重命名了数据源?您正在运行什么版本的报告服务?只是好奇,以防我将来看到这个。