在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的新手,所以任何人都可以帮我找出可能导致问题的原因吗?
答案 0 :(得分:1)
隐藏行逻辑会导致此错误。隐藏行逻辑引用了未分配给表的数据集中的值。当我删除该隐藏逻辑时,它导出正常。为了解决这个问题,我只是不同地编写了隐藏逻辑,只使用表数据集中的值。
答案 1 :(得分:0)
我已经弄清楚导致这种情况的原因(在我的情况下)。这是因为我的报告网格中的一个字段包含逗号和空格。这些字符中的每一个都会引发可怕的“对象引用...”异常。我在存储过程中使用了REPLACE函数来驱动报表,用管道符替换逗号和空格。这不是一个非常优雅的解决方案,所以我很想知道其他人是否有关于这个问题的想法。