2010-08-27 4 views
1

J'ai créé un rapport de cristal en utilisant MySql 5.1, en utilisant XML (fichier de données enregistrer en tant que xml dans le dossier racine de l'application) maintenant quand je cours sur ma machine cela fonctionne très bien. Mais lorsque l'application est installée sur une autre machine, elle nécessite une connexion à la base de données. comment puis-je supprimer cette fenêtre de connexion? Le code est donné ci-dessousLe rapport Crystal indique l'exigence de connexion à la base de données?

cDataSet.DataSetName = "TimeDataSet"; 
    cDataSet.WriteXml(Application.StartupPath 
    + "\\" + "TimeDSReport.xml", XmlWriteMode.WriteSchema); 
    ReportDocument report = new ReportDocument(); 
    report.Load(Application.StartupPath + "\\" + "TimeTracker.rpt");   
    crystalReportViewer1.ReportSource = report; 

S'il vous plaît voir si le code est bien ou j'ai besoin d'ajouter un paramètre supplémentaire?

Merci PAL

Répondre

3

Assurez-vous que le nom ou le DataTable dans « DataSet typé » et le nom DataTable que vous attribuez comme « RecordSource » à reprort de cristal doit être la même

Ou si vous êtes en utilisant directement à partir de la base de données Définissez les informations de connexion dans votre code comme suit:

private void ConfigureCrystalReports() 
{ 
    rpt= new ReportDocument(); 
    string reportPath = Server.MapPath("reportname.rpt"); 
    rpt.Load(reportPath); 
    ConnectionInfo connectionInfo = new ConnectionInfo(); 
    connectionInfo.DatabaseName = "Northwind"; 
    connectionInfo.UserID = "sa"; 
    connectionInfo.Password="pwd"; 
    SetDBLogonForReport(connectionInfo,rpt); 
    CrystalReportViewer1.ReportSource = rpt; 
} 
+0

Hi. J'ai essayé ceci sur mon système, cela fonctionne parfaitement. en l'installant sur le nouveau système, il a donné une erreur similaire. J'ai donc fondé une alternative parfaite pour cela. // Le réglage de cette propriété a fonctionné correctement. report.SetDataSource (cDataSet); merci pour vos conseils. :-RÉ –

Questions connexes