Load report failed- Crystal Report in c#
<p><br>
I have this application in C# on VS2012, in which I need to generate Crystal Report 13.0.x. This application has been running fine for last 2 years or so . Recently did some addons and after that its giving error <br></p>

<blockquote>
  <p>Load Report Fail</p>
</blockquote>

<p>However strange thing is that , in a day around 100 times this Crystal report is generated and in between it gives out that error. After the whole application has to be exited and then it works fine too. Because of this I am not abel to replicate the error at me end. 
<br>Here my code:</p>

<pre><code>   public partial class ChangeOrderList : Form
{
    ConnectionClass connectionclass = new ConnectionClass();
    NewOrderBL NObl = new NewOrderBL();
    DailySalesReportBL DSRbl = new DailySalesReportBL();
    public ChangeOrderList()
    {
        InitializeComponent();
    }
    private void ChangeOrderList_Load(object sender, EventArgs e)
    {
        /////////////////////////To count Lunch Buffet///////////////////

        DataTable dtlb = DSRbl.selectBuffet(DateTime.Today.Date.ToString(), DateTime.Today.Date.ToString());
        string date = dtlb.Rows[0][0].ToString();


        ////////////////////////////////////////////////////////////////
        try
        {

            string sqlqry = "Select KOTNo,TableNo,WaiterName,ItemCode,ItemName,Quantity,Status,Foodtype from tblOrderChange where KOTNo=@kotno and Quantity&gt;'0.00' and (Category!='Appetizer' and Category!='Indian Breads' and Category!='Desserts' and Category!='Beverages' and Category!='Tandoori')";
            SqlCommand cmd = new SqlCommand(sqlqry, connectionclass.con);
            cmd.Parameters.AddWithValue("@kotno", NewOrderBL.KOTNo);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);


            DataSet1 ds = new DataSet1();
            adapter.Fill(ds, "tblOrderChange");
            if (ds.Tables["tblOrderChange"].Rows.Count == 0)
            {
                MessageBox.Show("No Data Found", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (deliverybl.order == "Delivery")
            {
                //PrintDelivery printorder = new PrintDelivery();
                ChangeOrderdelivery printorder = new ChangeOrderdelivery();
                printorder.SetDataSource(ds);
                crystalReportViewer1.ReportSource = printorder;
                System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
                printorder.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;
                printorder.PrintOptions.PrinterName = "EPSON TM-U220 Receipt";
                printorder.PrintToPrinter(1, false, 0, 0);
            }
            else
            {
                crystalReportViewer1.RefreshReport();
                ParameterFields paramFields = new ParameterFields();
                ParameterField paramField = new ParameterField();
                ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
                paramField.Name = "LBqty";
                paramDiscreteValue.Value = date;
                paramField.CurrentValues.Add(paramDiscreteValue);
                paramFields.Add(paramField);

                PrintChangeOrderList printchangeorder = new PrintChangeOrderList();
                printchangeorder.SetDataSource(ds);
                printchangeorder.SetParameterValue("LBqty", date);
                crystalReportViewer1.ReportSource = printchangeorder;
                System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
                printchangeorder.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;
                printchangeorder.PrintOptions.PrinterName = "EPSON TM-U220 Receipt";
                printchangeorder.PrintToPrinter(1, false, 0, 0);
            }



        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        finally { connectionclass.disconnect(); }
        onlinebl.crystalreport = "";

        this.DialogResult = DialogResult.OK;

    }

    private void btnExit_Click(object sender, EventArgs e)
    {
        onlinebl.crystalreport = "";

        this.DialogResult = DialogResult.OK;

    }
</code></pre>

<p>I have been banging my head for long . Every where I search it says about the path and I am not using the path anywhere so not able to understand where the fault is.
If you need any more info or the code please let me know. Thanks</p>