2

我正在尝试使用报告查看器打印包含条形图的报告,但遇到错误。我的报告服务器在 Windows Server 2003 SP2 上运行 SQL Server 2005 Reporting Services SP3。

以下是一些可以重现问题的步骤(至少对我而言)......

  1. 在干净的机器上,我打开报告,它显示正常。
  2. 然后单击打印按钮,系统会提示我安装 RSClientPrint ActiveX 控件。控件下载并安装正常。
  3. 然后我再次单击打印按钮,出现打印对话框。
  4. 我选择一台打印机,然后单击“确定”。
  5. 将出现一个消息框,其中包含以下文本(包括拼写错误)...

打印过程中发生错误。(0x80004005)

我尝试打印的任何其他报告都可以正常工作。此报告与其他报告的唯一区别是它包含条形图。如果我从报告中删除图表,重新部署它,然后重新运行它,它会打印而不会出现该错误。

据我所知,它并不孤立于特定的机器。它发生在我与之交谈过的每个客户身上,以及办公室里的各种机器身上。

有没有人见过这样的事情?我在网上看到过类似的帖子,建议卸载报告服务器上的视频驱动程序(认为 GDI dll 已损坏),安装服务包等。我尝试了所有建议,但还没有找到好的解决方案。

谢谢。

4

1 回答 1

3

我最终不得不为此使用付费的 Microsoft 事件,但现在已解决。问题是我的报告中有一个包含动态列的矩阵。根据您选择的具体日期范围,报告可能有 n 个列。在我的情况下,选择日期范围产生三个或更多这些动态列时,它会导致矩阵变得太大并且在报告的边缘之外运行。

如果矩阵太大,该报告将运行并显示正常,但无论何时打印或导出报告,都会显示令人难以置信的非描述性错误。

我通过减小报告中其他列的大小和整体字体大小解决了这个问题。这可以防止在生成三个动态列的日期范围的情况下矩阵超出页面。在一般情况下它不能解决它(四列或更多列会使其失败),但对于我目前的目的来说已经足够了。

Microsoft 没有针对一般情况的修复(例如使矩阵固定宽度的方法)。

我想我应该回答这个问题,以防其他人遇到它。

-大卫

于 2009-05-19T16:50:43.143 回答