在ReportViewer中显示SSRS报告时出错

时间:2012-01-11 09:27:02

标签: c# reporting-services

我在报表查看器中显示SSRS报表(.rdl)时收到错误。错误是这样的..

  An error occurred during local report processing.
  The definition of the report 'Main Report' is invalid.
  The report definition is not valid. Details: The report definition has an invalid target            namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which      cannot be upgraded...

我是SSRS报告的新成员......所以Plz帮助我.........

1 个答案:

答案 0 :(得分:2)

这似乎是格式版本问题。您能否直接在SSRS上正确查看报告(没有控制权)?

如果是这样,可能意味着您需要在应用程序中升级ReportViewerControl - VS 2010具有控件的第10版。

如果没有,则可能意味着上传到SSRS的RDL不是您服务器的正确版本。

修改 你还没有说明你的应用程序是web还是windows - 我已经假设了web。 可能发生的是您从VS2008升级了项目,它仍然引用了ReportViewer控件的V 2008?

检查您应用的web.config

<system.web><compilation><assemblies>

<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

<system.web><compilation><buildProviders>

<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

您需要确保您的Web项目引用了{10} Microsoft.ReportViewer.CommonMicrosoft.ReportViewer.WebForms的v 10,并将其设置为部署到您的bin目录。

<强> EDIT2

VS2010使用Ajax - 在ReportViewer控件之前将ScriptManager添加到您的页面,或者只是粘贴以下内容:

<asp:ScriptManager ID="scmForReportViewer" runat="server">
</asp:ScriptManager>