5

Re: Недопустимое определение отчета. Подробности. Определение отчета имеет недопустимое целевое пространство имен 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition', которое невозможно обновить.Visual Studio 2010: определение отчета недопустимо. Подробности: определение отчета имеет недопустимую цель

Доклад экспертов необходимо, луч на более ...

Вот шаг, который я прошел сегодня, чтобы достичь этого бита юродства.

1) Visual Studio 2010 с SQL Server 2012

2) App является WinForms vb.net, работал большой, был первоначально разработан в VS 2008

Reports побежал отлично этом утра, прежде чем я добрался до них. -sigh-

3) Пробовал редактировать несколько отчетов - первый раз после обновления до SQL 2012

4) Не удалось изменить наборы данных и решил что-то было повреждено.

5) Отделал ремонт на VS 2010 и обеспечил его полную актуальность. нет радости - не удалось обновить набор данных.

6) Re-RAN установить для SQL SSMS с добавлением SDK для клиентов подключения

7) Теперь я мог редактировать наборы данных отчетов, но отчеты сломаны. (См название) -double sigh-

Report Зритель 10.0.0

.Net 4,0

Спасибо за любые советы

Mac McCaskie

ответ

2

Я думаю, что исправление может быть проще, чем вы ожидаете, если я буду помнить правильно. Ваше пространство имен просто нужно изменить для ссылки на более новую услугу. Насколько мне известно, вы не можете запустить 2012 год в пространстве имен 2008. Я смущен, хотя вы упоминаете приложение «Winforms», которое занимается КОСВЕННЫМ разговором с службами SQL Reporting через средство просмотра, созданное, как правило, несколькими способами. Если это так, то следуйте ниже на A, но затем вы упоминаете редактирование отчетов напрямую, поэтому мне любопытно, являются ли эти отчеты клиентов непосредственно в приложении? Если это так, я бы предположил, что если это так, вы говорите о SSRS 2012 с отчетами RDL, и в этом случае я бы попробовал B, если это для отчетов, размещенных в отчетах, созданных с помощью Business Intelligence Development Studio, добавьте VS VS 2010, созданный с SQL 2012. Если вы говорите о клиентских отчетах, хранящихся локально в приложении VB.NET, я могу предположить, что они, возможно, были обновлены до 2012 года, который использует .NET 4.5, и вы потенциально пытаетесь использовать более низкую структуру, но это всего лишь предположение о последнем и было бы маловероятно, так как .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)] 

B.

  1. Найти местную копию на диске отчета «RDL» и скопировать ее.
  2. Возьмите копию и откройте ее с помощью текстового редактора, я бы использовал Notepad ++ или что-то подобное.
  3. RDL как язык для меня на самом деле не сильно меняет, (я даже не вижу различий в дизайнере между 2008 R2 и 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"> 
    
5

Я имел этот вопрос сегодня в VS2013.

Обязательно ссылки на правильную версию DLL ReporViewer:

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

+0

Отлично. Это точно проблема. Работал в моем случае. Большое спасибо :) ! – Bharath

0

Mário Meyrelles прав.

Это все о версии Microsoft.ReportViewer.Common.dll и Microsoft.ReportViewer.WinForms.dll. Убедитесь, что вы указали правильную или последнюю версию dll. например для VS2013, мы должны использовать версию 11.

C: \ Windows \ сборка \ 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

0

Я начал проект отчетности с SQL2008 R2 и все файлы проекта использовали схему:

Мой сервер отчетов является SQL2008 НЕ R2 и развертывания отчетов в результате ошибки:

The report definition is not valid. Details: The report definition has an invalid target namespace

Хитрость заключается в том, чтобы установить TargetServerVersion проекты на SQL 2008 и сборки. Тогда все файлы в папке Bin \ Release будет иметь правильную схему, например

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

enter image description here