Reporting Services 2005 - 打印图表 - 打印期间发生错误。 (0X80004005)

时间:2009-04-25 00:39:28

标签: reporting-services printing reportingservices-2005

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

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

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

    打印期间发生错误。   (0X80004005)

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

    据我所知,它并非与特定机器隔离。它发生在我与之交谈过的每一位客户身上,以及办公室里的各种机器。

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

    感谢。

1 个答案:

答案 0 :(得分:3)

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

报告将在矩阵过大的情况下运行并显示正常,但无论何时打印或导出报告,都会显示非常难描述的错误。

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

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

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

-David