PDF Reporting Services中的导出问题

时间:2009-10-15 10:39:12

标签: pdf reporting-services export

在Reporting Services 2008中将报表导出为PDF时遇到错误。

错误消息是;

  

对象引用未设置为   对象的实例。描述:   在此期间发生了未处理的异常   当前网络的执行   请求。请查看堆栈跟踪   有关错误的更多信息   它起源于代码。

     

异常详细信息:System.Exception:   对象引用未设置为   对象的实例。

     

来源错误:

     

生成了未处理的异常   在执行当前   网络请求。有关的信息   异常的起源和位置   可以使用例外来识别   堆栈跟踪下面。

     

堆栈追踪:

     

[例外:未设置对象引用   到一个对象的实例。]

     

[例外:期间发生错误   呈现报告。]

     

[例外:期间发生错误   提交报告。]
  Microsoft.Reporting.WebForms.ServerReport.ServerUrlRequest(布尔   isAbortable,String url,Stream   outputStream,String& mime类型,   字符串和放大器; fileNameExtension)+520
  Microsoft.Reporting.WebForms.ServerReport.InternalRender(布尔   isAbortable,String format,String   deviceInfo,NameValueCollection   urlAccessParameters,Stream   reportStream,String& mime类型,   字符串和放大器; fileNameExtension)+963
  Microsoft.Reporting.WebForms.ServerReport.Render(字符串   format,String deviceInfo,   NameValueCollection中   urlAccessParameters,Stream   reportStream,String& mime类型,   字符串和放大器; fileNameExtension)+28
  Microsoft.Reporting.WebForms.ServerModeSession.RenderReport(字符串   格式,布尔值   allowInternalRenderers,String   deviceInfo,NameValueCollection   additionalParams,布尔   cacheSecondaryStreamsForHtml,String&   mimeType,String& fileExtension)+85
  Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection中   urlQuery,HttpResponse回复)+150   Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext的   上下文)+183
  System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep   步,布尔& completedSynchronously)   75

但是,此错误并不总是出现在此报告中,它仅在多个场合发生,具体取决于我们在报告参数中使用的日期。我是Reporting Services的新手,所以任何人都可以帮我找出可能导致问题的原因吗?

2 个答案:

答案 0 :(得分:1)

隐藏行逻辑会导致此错误。隐藏行逻辑引用了未分配给表的数据集中的值。当我删除该隐藏逻辑时,它导出正常。为了解决这个问题,我只是不同地编写了隐藏逻辑,只使用表数据集中的值。

答案 1 :(得分:0)

我已经弄清楚导致这种情况的原因(在我的情况下)。这是因为我的报告网格中的一个字段包含逗号和空格。这些字符中的每一个都会引发可怕的“对象引用...”异常。我在存储过程中使用了REPLACE函数来驱动报表,用管道符替换逗号和空格。这不是一个非常优雅的解决方案,所以我很想知道其他人是否有关于这个问题的想法。