5

Re: la definizione del report non è valida. Dettagli: la definizione del report ha uno spazio dei nomi di destinazione non valido 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' che non può essere aggiornato.Visual Studio 2010: la definizione del report non è valida. Dettagli: la definizione del report ha un target non valido

perizia necessaria, trave sopra sopra ...

Ecco il passo che ho passato oggi per raggiungere questo po 'di follia.

1) Visual Studio 2010, con SQL Server 2012

2) App è un vb.net WinForms, ha lavorato molto, è stato originariamente sviluppato in VS 2008

Reports funzionato bene questa AM prima arrivati ​​a loro. -sigh-

3) è tentato di modificare alcuni rapporti - prima volta dopo l'aggiornamento a SQL 2012.

4) Impossibile modificare i set di dati e ha deciso qualcosa era corrotto.

5) Eseguire un'installazione di riparazione su VS 2010 e assicurarsi che fosse completamente aggiornato. nessuna gioia: impossibile aggiornare il set di dati.

6) Re-ran installazione per SQL SSMS con l'aggiunta di SDK per i clienti di connettività

7) Ora potrei modificare i set di dati del report, ma i rapporti sono rotti. (Vedi titolo) sigh- -doppio

Rapporto spettatore è 10.0.0

Net è 4,0

Grazie per eventuali suggerimenti

Mac McCaskie

risposta

2

Credo che la correzione può essere più semplice di quanto tu pensi se ricordo che è corretto. Il tuo spazio dei nomi deve solo essere cambiato per fare riferimento al servizio più recente. Non è possibile eseguire 2012 su uno spazio dei nomi 2008 per quanto ne so. Sono confuso anche se menzioni l'app "Winforms" che si occupa di parlare INDIRETTAMENTE ai servizi di report SQL attraverso un viewer impostato generalmente in più modi. Se questo è il caso, segui in basso su A, ma poi menzioni la modifica dei report direttamente, quindi sono curioso di sapere questi report dei clienti direttamente in un'applicazione? In tal caso, suppongo che in questo caso si stia parlando di SSRS 2012 con report RDL e in tal caso proverei B se questo è per report report ospitati creati con Business Intelligence Development Studio su VS 2010 creato da SQL 2012. Se si sta parlando di report client memorizzati localmente in un'applicazione VB.NET, si potrebbe supporre che potrebbero essere stati aggiornati al 2012 che utilizza .NET 4.5 e potenzialmente si sta tentando un framework più basso ma si tratta solo di un'ipotesi sull'ultimo e sarebbe altamente improbabile dal momento che .NET porta con sé le versioni precedenti e non penserei che aggiornerebbe i report senza dirlo.

A:

È possibile ri installare 2.012 per sempre, ma non farlo usare namespace 2008 per i dati. È necessario utilizzare le classi di proxy più recenti dal servizio valido del 2012 e inserirle nel progetto C#/VB.NET. Se non siete sicuri di come scaricare e adattare le classi proxy ho un filo più dettagliate su di esso qui: 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. Trovare una copia locale sul disco di un rapporto "RDL" e copiarlo.
  2. Prendere la copia e aprirla con un editor di testo, userei Notepad ++ o qualcosa di simile.
  3. RDL come linguaggio per me non ha davvero cambiato molto (non vedo le differenze tra il designer tra il 2008R2 e il 2012). Quindi lungo quella linea potresti provare un trucco e vedere se potrebbe funzionare. Modificare il nodo del '< Report' vicino alla cima di essere questo, invece:

    < 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

ho avuto questo problema oggi in VS2013.

sicuro riferire la versione corretta ReporViewer dll:

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

+0

eccellente. Questo è esattamente il problema. Ha funzionato nel mio caso. Molte grazie :) ! – Bharath

0

Mário Meyrelles è giusto.

Si tratta di versione Microsoft.ReportViewer.Common.dll e Microsoft.ReportViewer.WinForms.dll. Assicurati di aver fatto riferimento alla versione corretta o più recente della DLL. per esempio. per VS2013, dobbiamo utilizzare la versione 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

0

avevo iniziato un progetto di reporting con SQL2008 R2 e tutti i file di progetto sono stati utilizzando lo schema:

mio server di report è SQL2008 NON R2 e la distribuzione delle relazioni ha provocato l'errore:

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

Il trucco è quello di impostare il TargetServerVersion progetti per SQL 2008 e costruire. Allora tutti i file contenuti nella cartella Bin \ Release avranno lo schema corretto, ad esempio

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

enter image description here

Problemi correlati