title: I am getting "Invalid mapping type value" this error while calling in c#
body: <p>i created method to show my report then i give connectioninfo at runtime
  but when i connect to remote server i got error</p>
  
  <pre><code> public bool ShowReport()
  {
      try
      {
          //CrystalDecisions.CrystalReports.Engine.ReportDocument oRepDoc;
          //CrystalDecisions.Shared.TableLogOnInfo oLogInfo;
          //CrystalDecisions.CrystalReports.Engine.Table oTable;
          //CrystalDecisions.CrystalReports.Engine.FieldDefinition oField;
          //CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition oParamFieldDef;
          //CrystalDecisions.Shared.ParameterValues oParamValues;
          //CrystalDecisions.Shared.ParameterDiscreteValue oDiscretParamValue;
          //ParameterFields oParamList;
          //ParameterField oParamItem;
  
          if (!System.IO.File.Exists(ReportPath))
          {
              MessageBox.Show("ملف التقرير غير موجود فى المسار الصحيح", MainClass.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
              return false;
          }
          else
          {
              oRepDoc = new ReportDocument();
              oLogInfo = new TableLogOnInfo();
              Tables t;
              oRepDoc.Load(ReportPath, OpenReportMethod.OpenReportByTempCopy);
              //***********************************************************************************
  
              ConnectionInfo connection = new ConnectionInfo();
              if (MainClass.IntegratedSecurity) connection.IntegratedSecurity = true;
              else
              {
  
                  connection.IntegratedSecurity = false;
                  connection.UserID = MainClass.UserId;
                  connection.Password = MainClass.Password;
              }
              connection.ServerName = MainClass.ServerName;
              connection.DatabaseName = MainClass.DatabaseName;
               t= oRepDoc.Database.Tables;
               foreach (CrystalDecisions.CrystalReports.Engine.Table oTab in t)
              {
                  oLogInfo = oTab.LogOnInfo;
                  oLogInfo.ConnectionInfo = connection;
  
                  oTab.ApplyLogOnInfo(oLogInfo);
  
                  //oLogInfo = null;
              }
  
              //***********************************************************************************
  
              oRepDoc.Refresh();
              oRepDoc.VerifyDatabase(); // Very Important Line
              //***********************************************************************************
              // First Way To Pass Report Parameters Value
              foreach (Range oRange in oRangeList)
              {
                  oRepDoc.SetParameterValue(oRange.RangeName, oRange.RangeValue);
              }
              oRangeList.Clear();
              //***********************************************************************************
              // Second Way To Pass Report Parameters Value
              //ParameterValues oCurrentParameterValues;
              //ParameterDiscreteValue oParameterDiscreteValue;
              //CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions oParameterFieldDefinitions = oRepDoc.DataDefinition.ParameterFields;
              //foreach (Range oRange in oRangeList)
              //{
              //    oCurrentParameterValues = new ParameterValues();
              //    oParameterDiscreteValue = new ParameterDiscreteValue();
              //    oParameterDiscreteValue.Value = oRange.RangeValue;
              //    oCurrentParameterValues.Add(oParameterDiscreteValue);
              //    ParameterFieldDefinition oParameterFieldDefinition = oParameterFieldDefinitions[oRange.RangeName];
              //    oParameterFieldDefinition.ApplyCurrentValues(oCurrentParameterValues);
              //}
              //oRangeList.Clear();
              //***********************************************************************************
              // Pass "Company Name" And "Telephone" And "Printed By"  To Report
              FormulaFieldDefinition oFormulaFieldDefinition;
              FormulaFieldDefinitions oFormulaFieldDefinitions = oRepDoc.DataDefinition.FormulaFields;
  
              oFormulaFieldDefinition = oFormulaFieldDefinitions["For_CompanyName"];
              oFormulaFieldDefinition.Text = string.Format("\"{0}\"", MainClass.CompanyName);
              oFormulaFieldDefinition = oFormulaFieldDefinitions["For_CompanyTel"];
              oFormulaFieldDefinition.Text = string.Format("\"{0}\"", MainClass.CompanyTel);
              oFormulaFieldDefinition = oFormulaFieldDefinitions["For_PrintedBy"];
              oFormulaFieldDefinition.Text = string.Format("\"{0}\"", MainClass.GetUserName(MainClass.SystemUserId));
              //***********************************************************************************
          }
          if (Destination == ReportDestination.Printer)
          {
              oRepDoc.PrintOptions.PrinterName = PrinterName;
              oRepDoc.PrintToPrinter(NumberofCopies, Collate, StartPage, EndPage);
              return true;
          }
          return true;
      }
      catch (Exception ex)
      {
          MessageBox.Show(ex.Message, MainClass.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
          return false;
      }
  }
  </code></pre>
  
  <p>when depugging   oRepDoc.VerifyDatabase(); 
  i got error invalid mapping
  by the way connectioninfo works on sql server </p>