SSRS 2005报告在导出为PDF

时间:2016-06-28 14:01:02

标签: reporting-services reportingservices-2005 bids

我有一份我在BIDS中建立的报告。报告顶部有几个文本框,后面是一个表格,显示我的一个数据集的所有结果。如果此表填充了足够的数据,导出中将有多个页面,则不会在BIDS预览中或将报表上载到服务器时导出为PDF。在BIDS中我得到了这个错误:

  

本地报告处理期间发生错误。
  呈现报告期间发生错误。
  呈现报告期间发生错误。
  对象引用未设置为对象的实例。

我已将问题缩小到表格中的特定项目,该项目来自SQL Server数据库视图中的文本列。此列中的值包含换行符。如果我用空格替换换行符,报表将导出为PDF而没有问题,但如果我将它们保留在中,或者即使我在报表中的文本框表达式中用VbCRLF或类似的东西替换它们,我也会得到错误。

如果我尝试导出到Excel,我会得到一个稍微不同的错误:

  

本地报告处理期间发生错误。
  呈现报告期间发生错误。
  呈现报告期间发生错误。
  指数超出范围。必须是非负数且小于集合的大小。
  参数名称:index

我的报告中没有名为'index'的参数。

它会导出到所有其他格式而不会出错。

我可以通过在我的数据集的SELECT中使用它而不是实际数据来强制它出错:

SELECT 'this is a first line' + char(13) + char(10) + ' this is the second line' as Notes

但同样,如果没有足够的行来导致PDF中的多个页面,则不会导致错误。

有人可以建议修复此问题吗?我一直在寻找几个小时,但甚至找不到任何有同样问题的人。

1 个答案:

答案 0 :(得分:0)

此错误可能是由于没有足够的空间来显示页眉或页脚。你的页眉/页脚中是否有一个大于页眉/页脚宽度的固定大小的图像。

也许是文本框......

查看页眉/页脚中的组件,看看宽度(或实际高度)的总和是否大于可用空间。