Report Builder 3.0 mit VS2010 Fehler

stimmen
2

Ich baute einen Bericht mit Berichts-Generator 3.0 und ich versuche, es in VS 2010. Ich erhalte diese Fehlermeldung zu halten mit einem Report Viewer angezeigt werden soll.

Die Berichtsdefinition ist ungültig. Details: Die Berichtsdefinition hat einen ungültigen Ziel-Namensraum ‚http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition‘, die werden nicht aktualisiert.

Hier ist der Code ich verwende.

public partial class ViewReport : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
            PopulateReport(GetDataSet(24), Server.MapPath(/IncidentReportOld.rdl));
    }
    private DataSet GetDataSet(string id)
    {
        string sql = string.Empty;
        SqlDataAdapter ada;
        string conString = Data Source=con-sqlc-02;Initial Catalog=Incident;Integrated Security=True;

        DataSet ds = new DataSet();

        sql = select * from Rpt_Incident where incidentID =  + id;
        ada = new SqlDataAdapter(sql, conString);
        ada.Fill(ds, Incidents);

        return ds;
    }

    private void PopulateReport(DataSet ds, string reportPath)
    {
        /* Put the stored procedure result into a dataset */

        if (ds.Tables[0].Rows.Count == 0)
        {
            //lblMessage.Text = Sorry, no record returned in this report;
        }
        else
        {

            // Set ReportViewer1
            ReportViewer rv = new ReportViewer();
            rv.LocalReport.ReportPath = reportPath;
            ReportDataSource datasource;
            rv.LocalReport.DataSources.Clear();
            for (int i = 0; i < ds.Tables.Count; i++)
            {
                datasource = new ReportDataSource(ds.Tables[i].TableName, ds.Tables[i]);
                rv.LocalReport.DataSources.Add(datasource);
            }

            RenderPDF(rv);
        }
    }

    private void RenderPDF(ReportViewer rv)
    {
        Warning[] warnings;
        string[] streamids;
        string mimeType;
        string encoding;
        string extension;

        byte[] bytes = rv.LocalReport.Render(PDF, null, out mimeType, out encoding, out extension, out streamids, out warnings);

        this.Page.Response.ClearHeaders();
        this.Page.Response.AddHeader(content-disposition, inline; filename=IncidentTest.pdf);
        this.Page.Response.ClearContent();
        this.Page.Response.ContentEncoding = System.Text.Encoding.UTF8;
        this.Page.Response.ContentType = application/pdf;

        BinaryWriter writer = new BinaryWriter(this.Page.Response.OutputStream);
        writer.Write(bytes);

        writer.Close();

        //flush and close the response object
        this.Page.Response.Flush();
        this.Page.Response.Close();
    }
    private void PopulateReport1(DataSet ds, string reportPath)
    {
        /* Put the stored procedure result into a dataset */

        if (ds.Tables[0].Rows.Count == 0)
        {
            //lblMessage.Text = Sorry, no record returned in this report;
        }
        else
        {

            // Set ReportViewer1
            //ReportViewer rv = new ReportViewer();
            ReportViewer1.LocalReport.ReportPath = reportPath;
            ReportDataSource datasource;
            ReportViewer1.LocalReport.DataSources.Clear();
            for (int i = 0; i < ds.Tables.Count; i++)
            {
                datasource = new ReportDataSource(ds.Tables[i].TableName, ds.Tables[i]);
                ReportViewer1.LocalReport.DataSources.Add(datasource);
            }

            ReportViewer1.LocalReport.Refresh();
            //RenderPDF(rv);
        }
    }


}
Veröffentlicht am 13/04/2011 um 19:36
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
6

Ich war tatsächlich in der Lage dieses Problem selbst zu beheben.

Ich habe gerade die Erweiterung von RDL zu RDLC. Dann öffnete ich es in VS und VS fragte mich, ob ich es umwandeln wollte. Ich sagte ja, dann habe ich diese Fehlermeldung.

Die Berichtsdefinition hat ein ungültiges Ziel-Namensraum ‚http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition‘, die nicht aktualisiert werden kann.

Also änderte ich den Namespace diese, die für SQL Reporting Services 2008 ist.

<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">

Danach bekam ich einen Fehler „ReportSections“ ist ein ungültiges geordnetes Element zu sagen. Ich entfernte es dann funktioniert alles! Hoffentlich wird jemand mit diesem Problem helfen.

Beantwortet am 14/04/2011 um 19:38
quelle vom benutzer

stimmen
1

Ich reparierte dieses Problem in meinem Winforms - Projekt durch die spezifische Version Eigenschaft zu ändern Microsoft.ReportViewer.Commonund Microsoft.ReportViewer.WinFormszu falsein Referenzen

Beantwortet am 01/02/2012 um 18:07
quelle vom benutzer

stimmen
0

Ich habe das gleiche Problem hatte, aber Ihre Lösung nicht für mich arbeiten. Ich verwende VS 2013 Express und USED Reportbuilder 3.0 zu verwenden. Ich habe auf den MSDN-Foren gesehen, die ReportBuilder2.0 verwendet, wird dieses Problem zu beheben und sie hatten Recht. So versuchen 2.0 Report Builder verwenden.

Beantwortet am 01/05/2014 um 05:46
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more