2012-07-04 1 views
1

J'ai écrit ce code avec l'aide d'autres programmeurs. Ce code fonctionne parfaitement sous Windows 7 mais lorsque j'installe le programme sous Windows XP, la connexion échoue. J'ai installé .Net Framework 4.0 et CRforVS_13_0_3 de Crystal Reports sur la machine Windows XP.C# Crystal Reports Connexion échoue sous Windows XP

using CrystalDecisions.CrystalReports.Engine; 
using CrystalDecisions.Shared; 


label2.Text = Convert.ToString(BAssistencia.nroo); 
ReportDocument segredo = new ReportDocument(); 
     segredo.Load(@"C:/Relatorios/CrystalReport3.rpt"); 
     ParameterField pf1 = new ParameterField(); 
     ParameterFields pf1s = new ParameterFields(); 
     ParameterDiscreteValue pdv = new ParameterDiscreteValue(); 
     TableLogOnInfo tabla = new TableLogOnInfo(); 
     TableLogOnInfos tablas = new TableLogOnInfos(); 
     ConnectionInfo infocon = new ConnectionInfo(); 
     Tables crtables; 

     infocon.ServerName = "server"; 
     infocon.DatabaseName = "database"; 
     infocon.UserID = "user"; 
     infocon.Password = "password"; 
     infocon.IntegratedSecurity = false; 

     crtables = segredo.Database.Tables; 
     foreach (CrystalDecisions.CrystalReports.Engine.Table crtable in crtables) 
     { 
      tabla = crtable.LogOnInfo; 
      tabla.ConnectionInfo = infocon; 
      crtable.ApplyLogOnInfo(tabla); 
     } 

     pf1.Name = "@pedido"; 
     pdv.Value = label2.Text; 
     pf1.CurrentValues.Add(pdv); 
     pf1s.Add(pf1); 
     crystalReportViewer1.ParameterFieldInfo = pf1s; 

     crystalReportViewer1.ReportSource = segredo; 

Qu'est-ce que je fais mal ???

Répondre

0

Quelques liens, le premier sont des méthodes d'extension que j'ai écrites que j'utilise avec Crystal (sur XP, Vista et 7 avec Server 2003, 2008 et ils fonctionnent là).

Le second a ici une autre question, mais à la fin (avant mon diatribe) je quelques informations sur gotchas Délestage connexions lors de l'exécution .

Le code fourni a fonctionné pour moi ci-dessus dans tous mes environnements. Maintenant, dans votre cas, vous devez également vous assurer que la boîte XP a accès au serveur de base de données en dehors de Crystal aussi (pas de pare-feu bloquant, le serveur ne refuse pas l'accès, aucun ACL en place qui arrête le réseau routage, etc). Au fil des ans, j'ai trouvé que les connexions avec Crystal étaient très particulières.

+0

b.pell je vais écrire le code du deuxième lien est très bon !! –

+0

heureux d'aider. :) –