Rapport côté serveur dans Crystal 2008?
-
05-07-2019 - |
Question
Je souhaite intégrer Crystal Reports 2008 à une application Windows Forms. Je souhaite éviter les connexions directes de mon application client à la base de données, tout en donnant à l'utilisateur la commande "complète". signaler l'expérience. Est-il possible que Crystal Reports 2008 exécute un rapport sur un serveur dans un contrôle client Windows Forms côté client, similaire à Microsoft Reporting Services?
La solution
Je ne sais pas si c'est exactement ce que vous recherchez, mais je peux penser à deux façons de le tromper:
- Vous pouvez configurer votre rapport de sorte que la "base de données" soit un fichier XSD, sans aucune connaissance du backend réel. Au moment de l'exécution, vous transmettez les données au rapport.
// Créez une instance au moment de l'exécution appropriée à votre environnement - exemple uniquement:
ReportClass rc = new ReportClass ();
rc.Load (crystalReportFileName);
rc.SetDataSource (myIEnumerableData);
CrystalReportViewer crv = new CrystalReportViewer ();
crv.ReportSource = rc;
// Affiche le visualiseur de cristaux.
2 - Vous pouvez faire la même chose que 1 sur un serveur (quelle que soit l'approche de la base de données), puis enregistrer le rapport et le transférer vers le client.
// Certains service / méthode côté serveur, etc.
octet public [] GetMyReport () {
ReportClass rc = new ReportClass ();
rc.Load (crystalReportFileName);
rc.SetDataSource (myIEnumerableData);
rc.SaveAs (serverSideFile, True); // True est essentiel pour enregistrer les données avec le rapport
return .... // convertit le fichier créé en un tableau d'octets, je suppose
}
// côté client
octet [] rep = Serveur. GetMyReport ()
ReportClass rc = ..... // reconvertit le rapport en rapport Crystal
CrystalReportViewer crv = new CrystalReportViewer ();
crv.ReportSource = rc;
Autres conseils
Ce n'est pas vraiment ce que vous demandez, mais Crystal Reports Server établit des rapports côté serveur.
En revanche, c’est extrêmement coûteux.
http://www.businessobjects.com/product/catalog/crystalreports_server/
Je ne peux pas ajouter de commentaire à ce qui précède car je n'ai pas de points, mais j'espère que cela aidera.
Crystal Reports Server exécute des rapports sur les sources de données, l'idée étant que les clients ne disposant pas de rapports Crystal ou d'accès aux données peuvent générer des rapports via le Web ou que le serveur exécute des rapports planifiés et envoie les résultats. Je ne sais pas si vous pouvez l'intégrer cependant.