Re:报告定义无效。详细信息:报表定义具有无效的目标名称空间“http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition”,无法升级。
报告专家需要,继续... ...
这是我今天经历的一步,以实现这一点愚蠢。
1)Visual Studio 2010,带有SQL Server 2012
2)App是一个winforms vb.net,一直很好用,最初是在VS 2008开发的在我到达它们之前,报告运行正常。 -sigh -
3)尝试编辑一些报告 - 自升级到SQL 2012以来的第一次。
4)无法编辑数据集并确定某些内容已损坏。
5)在VS 2010上安装修复装置并确保它完全是最新的。没有快乐 - 无法更新数据集。
6)为连接客户端添加SDK,重新运行SQL SSMS的安装
7)现在我可以编辑报告数据集,但报告已被破坏。 (见标题) - 双重叹气 -
报告查看器是10.0.0
.Net是4.0
感谢您提供任何提示
Mac McCaskie答案 0 :(得分:7)
我今天在VS2013中遇到过这个问题。
请务必引用正确的ReporViewer dll版本:
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ ReportViewer \
答案 1 :(得分:2)
我认为修复可能比你预料的更简单,如果我没记错的话。您的名称空间只需要更改为引用较新的服务。据我所知,您无法在2008命名空间上运行2012。当你提到' Winforms'应用程序通过一般以多种方式设置的查看器间接处理SQL报告服务。如果是这种情况,请按照下面的A进行,但是你提到直接编辑报告,所以我很好奇这些客户报告是否直接在应用程序中?如果是这样的话,我会假设你是在谈论带有RDL报告的SSRS 2012,在这种情况下我会尝试B,如果这是用于使用从SQL 2012创建的VS 2010上的Business Intelligence Development Studio添加创建的报告托管报告。如果你在谈论本地存储在VB.NET应用程序中的客户端报告,我可能会猜到它们可能已经升级到使用.NET 4.5的2012,你可能正在尝试更低的框架,但这只是猜测最后一个并且由于.NET带有以前的版本,因此我不会认为它会在不告诉您的情况下升级报告。
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)]
乙
RDL作为一种语言对我来说并没有真正改变,(我甚至不会看到设计师在2008R2和2012之间的差异)。所以沿着这条线你可以试一试,看看它是否可行。编辑&#39;&lt;节点报告&#39;靠近顶部是这样的:
< 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">
答案 2 :(得分: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/