7

回复:报告定义无效。详细信息:报表定义具有无法升级的无效目标命名空间“ http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition ”。

需要报告专家,请继续...

这是我今天完成这一点愚蠢的步骤。

1) Visual Studio 2010,带有 SQL Server 2012

2)App是一个winforms vb.net,一直很好用,最初是用VS 2008开发的

在我找到他们之前,今天上午的报告运行良好。-叹-

3) 尝试编辑一些报告 - 自升级到 SQL 2012 以来的第一次。

4) 无法编辑数据集并确定某些内容已损坏。

5) 在 VS 2010 上运行修复安装并确保它是完全最新的。不高兴 - 无法更新数据集。

6) 重新运行 SQL SSMS 安装,并添加用于连接客户端的 SDK

7) 现在我可以编辑报告数据集,但报告已损坏。(见标题)-双重叹息-

报告查看器是 10.0.0

.Net 是 4.0

感谢您的任何提示

麦克麦卡斯基

4

4 回答 4

7

我今天在 VS2013 中遇到了这个问题。

请务必引用正确的 ReportViewer dll 版本:

C:\Program 文件 (x86)\Microsoft Visual Studio 12.0\ReportViewer\

于 2014-10-03T18:51:30.040 回答
2

如果我没记错的话,我认为修复可能比您预期的要简单。您的名称空间只需要更改以引用较新的服务。据我所知,您不能在 2008 命名空间上运行 2012。当您提到“Winforms”应用程序时,我感到困惑,该应用程序通过通常以多种方式设置的查看器间接与 SQL 报告服务对话。如果是这种情况,请按照下面的 A 进行操作,但是您提到直接编辑报告,所以我很好奇这些客户端报告是否直接在应用程序中?如果是这样,我会假设您正在谈论带有 RDL 报告的 SSRS 2012,在这种情况下,如果这是使用商业智能开发工作室创建的报告托管报告,我会尝试使用 B,添加在 SQL 2012 创建的 VS 2010 上。

A:

您可以永远重新安装 2012,但不能让它使用 2008 的命名空间来存储数据。您需要使用 2012 年有效服务中的最新代理类,并将它们放入您的 C#/VB.NET 项目中。如果您不确定如何下载和调整代理类,我在这里有一个更详细的主题:Programmatically Export SSRS report from sharepoint using ReportService2010.asmx

// 
// This source code was auto-generated by xsd, Version=4.0.30319.17929.
// 
namespace SampleRDLSchema {
    using System.Xml.Serialization;

 /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition", IsNullable=false)]

B.

  1. 在磁盘上查找“RDL”报告的本地副本并将其复制。
  2. 获取副本并使用文本编辑器打开它,我会使用 Notepad++ 或类似的东西。
  3. RDL 作为一种语言对我来说并没有真正改变太多,(我什至没有看到 2008R2 和 2012 之间设计器的差异)。所以沿着这条线,你可以尝试破解,看看它是否可以工作。将顶部附近的“< Report”节点编辑为:

    < Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
    
于 2013-06-21T20:56:52.460 回答
1

马里奥·梅雷勒斯是对的。

这都是关于 Microsoft.ReportViewer.Common.dll 和 Microsoft.ReportViewer.WinForms.dll 版本的。请确保您引用了正确或最新的 dll 版本。例如对于 VS2013,我们应该使用版本 11。

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.Common\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.dll

于 2015-09-09T07:32:30.467 回答
0

我已经使用 SQL2008 R2启动了一个报告项目,并且所有项目文件都使用了以下模式:

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/

我的报告服务器是 SQL2008 NOT R2,部署报告导致错误:

报告定义无效。详细信息:报告定义的目标命名空间无效

诀窍是将项目 TargetServerVersion 设置为 SQL 2008 和 Build。然后 Bin\Release 文件夹中的所有文件都将具有正确的架构,例如

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/

在此处输入图像描述

于 2015-10-01T01:11:04.243 回答