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);
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."}