2010-05-06 8 views
0

J'ai un rapport Crystal 2008 qui sera déployé sur un serveur InfoView. Il existe quatre bases de données différentes sur lesquelles l'utilisateur peut vouloir exécuter le rapport. Chacune des quatre bases de données a exactement le même schéma. Seules les données de chacun sont différentes. Chaque base de données correspond à une plante que nous avons dans le monde. Au lieu de créer quatre rapports différents (chacun connecté à l'une des quatre bases de données), suis-je capable de changer dynamiquement le serveur/la base de données que le rapport atteint en fonction d'une valeur que l'utilisateur entre dans un paramètre? J'essaie vraiment d'éviter de devoir créer quatre rapports identiques à l'exception de la connexion à la base de données de chacun. Si cela n'est pas possible, comment les développeurs traitent-ils généralement ce type de scénario? J'imagine que c'est assez commun.Puis-je modifier le serveur de base de données et la base de données vers lesquels un rapport pointe dynamiquement?

Merci beaucoup.

Répondre

1

InfoView ne prend pas en charge la modification dynamique de la source de données d'un rapport. Vous pouvez certainement modifier la source InfoView en fonction de vos besoins avec le BusinessObjects Enterprise SDK, mais ce sera un défi et ne sera pas supporté par BO.

Une autre option consiste à créer un portail personnalisé avec le BusinessObjects Enterprise SDK, mais cela nécessitera également un peu de codage. La meilleure option est probablement de publier le rapport plusieurs fois, de définir chaque source de données comme approprié (via la CMC) et de changer le nom du rapport pour donner une indication de sa source de données (via la CMC). Il existe une propriété de rapport dans la CMC qui enregistre les paramètres de la source de données afin que vous puissiez republier rapidement les rapports si vous apportez une modification à l'original.

0

Je ne suis pas familier avec InfoView, mais il est assez courant de faire ce que vous décrivez, j'ai fait des choses similaires avec Asp.Net et Winforms; si vous avez accès au modèle d'objet Crystal Reports, il existe de nombreuses options pour définir les informations de connexion, je pense que c'est SetDatabaseLogon; Si vous avez des sous-rapports, vous devez définir le login pour chacun d'entre eux séparément.

Les schémas doivent être complètement identiques, ou l'utilisateur recevra des avertissements.

Questions connexes