本地报告处理期间发生错误 [英] An error occurred during local report processing

查看:59
本文介绍了本地报告处理期间发生错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在窗口服务中将报告呈现为PDF。虽然调用函数是正确的getReportFrmServer



我的代码是



 DailyReportFile = getReportFrmServer(reportName,param); 
public byte [] getReportFrmServer( string report, string [] param)
{
if (报告== DailyAttendanceReport
{


列表< ReportParameter> myParams = new 列表< ReportParameter>();
myParams.Add( new ReportParameter( dailyDate,param [ 0 ]));
ReportParameter p = new ReportParameter( 承包商名称);
if (param [ 1 ] ==
{
p.Values.Add( null );
myParams.Add(p);
}
else
{
p.Values.Add(param [ 1 ]);
myParams.Add(p);
}
ReportParameter q = new ReportParameter( 网站名称);
if (param [ 2 ] ==
{
q.Values.Add( null );
myParams.Add(q);
}
else
{
q.Values.Add(param [ 2 ]);
myParams.Add(q);
}
.reportViewer1.ProcessingMode = ProcessingMode.Local;

this .reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource DS = new ReportDataSource( DailyAttendanceReport ,fillrel(param [ 0 ],param [ 1 ],param [ 2 ]));
reportViewer1.LocalReport.DataSources.Add(DS);
.reportViewer1.LocalReport.ReportPath = @ C:\ReportSource\DailyAttendanceReport.rdl;
this .reportViewer1.LocalReport.SetParameters(myParams);
byte [] returnValue = null ;
string format = PDF;
string deviceinfo = ;
string mimeType = ;
string encoding = ;
string extension = pdf;
string [] streams = null ;
警告[] warnings = null ;
returnValue = reportViewer1.LocalReport.Render(格式,deviceinfo, out mimeType, out 编码, out 扩展名, out streams, out 警告); // 异常就在这里
reportViewer1.LocalReport.Refresh();
}
public DataTable fillrel( string date, string name, string site)
{
string query = 从IA3000SDB.dbo.Util中选择*(@ dailyDate,@ contractorname,@ sitename);
DataSet dataset = new DataSet();
尝试
{
con.Open();
cmd = new SqlCommand(query,con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue( @ dailyDate,date);
cmd.Parameters.AddWithValue( @ contractorname,name);
cmd.Parameters.AddWithValue( @ sitename,site);
ad = new SqlDataAdapter(cmd);
ad.Fill(dataset);
if (dataset.Tables [ 0 ]。Rows.Count > 0
{
return dataset.Tables [ 0 ];
}
其他
{
返回 ;
}
}
catch (例外情况)
{
return null ;
}
}







InnerException是{本地错误报告处理。}

异常是{本地报告处理期间发生错误。}

解决方案

 发生 错误      local   report  处理
定义 < span class =code-leadattribute>
report 'Main Report' 无效
报告 定义 < span class =code-leadattribute> 有效详细信息: 报告 定义 无效 target 命名空间 'http: // schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition'无法升级。


I want to render a report as PDF in window service.While calling is correct of function getReportFrmServer

My code is

 DailyReportFile = getReportFrmServer(reportName, param);
public byte[] getReportFrmServer(string report, string[] param)
        {
  if (report == "DailyAttendanceReport")
                {
                    
                  
                    List<ReportParameter> myParams = new List<ReportParameter>();
                    myParams.Add(new ReportParameter("dailyDate", param[0]));
                    ReportParameter p = new ReportParameter("contractorname");
                    if (param[1] == "")
                    {
                        p.Values.Add(null);
                        myParams.Add(p);
                    }
                    else
                    {
                        p.Values.Add(param[1]);
                        myParams.Add(p);
                    }
                    ReportParameter q = new ReportParameter("sitename");
                    if (param[2] == "")
                    {
                        q.Values.Add(null);
                        myParams.Add(q);
                    }
                    else
                    {
                        q.Values.Add(param[2]);
                        myParams.Add(q);
                    }
                    this.reportViewer1.ProcessingMode = ProcessingMode.Local;

                    this.reportViewer1.LocalReport.DataSources.Clear();
                    ReportDataSource DS = new ReportDataSource("DailyAttendanceReport", fillrel(param[0], param[1], param[2]));
                    reportViewer1.LocalReport.DataSources.Add(DS);
                    this.reportViewer1.LocalReport.ReportPath = @"c:\ReportSource\DailyAttendanceReport.rdl";
  this.reportViewer1.LocalReport.SetParameters(myParams);
    byte[] returnValue = null;
            string format = "PDF";
            string deviceinfo = "";
            string mimeType = "";
            string encoding = "";
            string extension = "pdf";
            string[] streams = null;
            Warning[] warnings = null;
  returnValue = reportViewer1.LocalReport.Render(format, deviceinfo, out mimeType, out encoding, out extension, out streams, out warnings);// Exception is here
                reportViewer1.LocalReport.Refresh();  
}
 public DataTable fillrel(string date,string name,string site)
        {
            string query = "select * from IA3000SDB.dbo.Util(@dailyDate,@contractorname,@sitename)";
            DataSet dataset = new DataSet();
            try
            {
                con.Open();
                cmd = new SqlCommand(query, con);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("@dailyDate", date);
                cmd.Parameters.AddWithValue("@contractorname", name);
                cmd.Parameters.AddWithValue("@sitename", site);
                ad = new SqlDataAdapter(cmd);
                ad.Fill(dataset);
                if (dataset.Tables[0].Rows.Count > 0)
                {
                    return dataset.Tables[0];
                }
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                return null;
            } 
        }




InnerException is {"An error occurred during local report processing."}
Exception is {"An error occurred during local report processing."}

解决方案

An error occurred during local report processing.
The definition of the report 'Main Report' is invalid.
The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgraded.


这篇关于本地报告处理期间发生错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆