Cristal report la galere

hiul dragonfel Messages postés 1 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 18 juin 2007 - 18 juin 2007 à 18:44
TheSaib Messages postés 2368 Date d'inscription mardi 17 avril 2001 Statut Modérateur Dernière intervention 26 décembre 2007 - 6 nov. 2007 à 00:14
bonjour,

quelqu'un aurait une idée de comment regler une erreur de crystal report qui dis uniquement :
sitation --"Echec du chargement du rapport."

moi ca me rend dingue d'autant plus que je suis sure que c'est pas compliqué au cas ou je vous donne ce que g fureté sur le net et mon code.

salut tout le monde!


je suis face à un mur qui va me tomber dessus!


j'ai trouvé ce tuto de crystal report
http://www.dreamingcode.com/dcContentnet/Content/NewData/pdf/43_22Ab.pdf


seulement il est pour une vieille version :piou: et g cherché encore et g trouvé ca !

  using System;
  using System.Data;
  using System.Configuration;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;


  public partial class _Default : System.Web.UI.Page 
  {
      protected void Page_Load(object sender, EventArgs e)
      {


          DataSet myDS = new DataSet();
          DataTable dtMyTable = new DataTable("preview");


          DataColumn myCol0 = new DataColumn("facility");
          myCol0.DataType = System.Type.GetType("System.String");
          myCol0.MaxLength = 256;
          myCol0.AllowDBNull = true;


          DataColumn myCol1 = new DataColumn("doctype");
          myCol1.DataType = System.Type.GetType("System.String");
          myCol1.MaxLength = 256;
          myCol1.AllowDBNull = true;


          dtMyTable.Columns.Add(myCol0);
          dtMyTable.Columns.Add(myCol1);
          dtMyTable.AcceptChanges();


          DataRow myNewRow = dtMyTable.NewRow();
          myNewRow["facility"] = "MyFacility Works Great!";
          myNewRow["doctype"] = "MyDocType Works too!";
          dtMyTable.Rows.Add(myNewRow);
          dtMyTable.AcceptChanges();


          myDS.Tables.Add(dtMyTable);


    //      myDS.WriteXml(@"C:\Inetpub\wwwroot\CrystalTest\tryXML.xml");


          CrystalDecisions.CrystalReports.Engine.ReportDocument myReportDocument;
          myReportDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();


          myReportDocument.Load(@"C:\Inetpub\wwwroot\CrystalTest\CrystalReport.rpt");


    //
    // any of these three methods should work to fill the document
    // 
          myReportDocument.Database.Tables["preview"].SetDataSource(myDS);
          //myReportDocument.Database.Tables[0].SetDataSource(myDS);
          //myReportDocument.SetDataSource(myDS);


          CrystalReportViewer1.ReportSource = myReportDocument;
          CrystalReportViewer1.DataBind();
      }
  }



et finialement moi dans mon code g ca :


  using System;
  using System.Data;
  using System.Data.SqlClient;
  using System.Configuration;
  using System.Collections;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;


  using CrystalDecisions.CrystalReports.Engine;


  public partial class SouscriptionPass_RapportPass : System.Web.UI.Page
  {
      // variable se referent au crystal report
      public ReportDocument rapportPassPdf = null;


      // variable de connexion
      private SqlConnection cnx;


      protected void AfficheurPass_Init(object sender, EventArgs e)
      {
          // chargement du rapport
          rapportPassPdf = new ReportDocument();
          rapportPassPdf.Load(ConfigurationManager.AppSettings["CheminSite"] + "/SouscriptionPass/RapportPassPdf.rpt");


          Session.Add("num_pers", 5);
          // établissement de la connexion
          fonction.ConnexionBDD(ref cnx);
        
          // récupèration des données de la base de données          SqlDataAdapter donnees new SqlDataAdapter("select * from vue_rapport_souscription where NUM_PERS " + Session["num_pers"], cnx);
          RapportPassDataSet DataSetRapport = new RapportPassDataSet();


          // assignation des données au dataset pour ne plus avoir besoin de la connexion
          donnees.Fill(DataSetRapport, "vue_rapport_souscription");
        
          // assignation des données à RapportPassPdf.rpt
          rapportPassPdf.SetDataSource(DataSetRapport);


          // on lie le rapport avec le crystal report viewer
          AfficheurPass.ReportSource = rapportPassPdf;
          AfficheurPass.DataBind();
      }
  }



mon rapport ".rpt" est lié à mon "CrystalReportViewer" avec l'alias
"RapportPassPdfRpt"


mon "CrystalReportViewer" a comme ID "AfficheurPass"

Surtout bien mettre sur papier au moin son préalgo pour éviter les mauvaises surprises

1 réponse

TheSaib Messages postés 2368 Date d'inscription mardi 17 avril 2001 Statut Modérateur Dernière intervention 26 décembre 2007 23
6 nov. 2007 à 00:14
Cette erreur veut dire tout et rien à la fois. Mauvaise correspondance entre ton shéma et ta source de données, bug des wrapper de l'activeX, problème de licences, icompatibilité CR 9 et VS 2005, incompatibilité sur windows 98 ...

Pour corriger une variante de cette anomalie j'ai passé sur les plateforme un hotFix "cr11_en.exe" (de mémoire).

As tu regardé l'inner exception lié à ton anomalie ?

::|The S@ib|::
MVP C#.NET
0