paramètres de source de données Birt à partir d'un fichier de propriétés

StackOverflow https://stackoverflow.com/questions/1340339

  •  20-09-2019
  •  | 
  •  

Question

J'ai plusieurs rapports BIRT qui obtient les données de la même source de données jdbc.

Est-il possible d'obtenir les paramètres de conection (URL du pilote, Nom d'utilisateur et mot de passe) à partir d'un fichier de propriétés externe ou similaire?

Était-ce utile?

La solution

Une que vous créez une source de données fonctionnelle, vous pouvez ajouter cette source de données à une bibliothèque de rapports qui peuvent être importés et utilisés par tous les rapports BIRT dans votre système. La source à l'intérieur de la bibliothèque peut avoir des attributs de connexion statiques, ou vous pouvez les abstraire en utilisant les propriétés externalisées.

Si vous souhaitez externaliser les informations de connexion, vous devez modifier la source de données elle-même. A l'intérieur de l'éditeur de source de données, il y a une section « Liaison de propriété » qui vous permet de faire abstraction de toutes les valeurs relatives à la connexion de données. De là, vous pouvez lier les valeurs (en utilisant l'éditeur d'expression) soit à des paramètres de rapport ou un fichier de propriétés.

Pour se lier à un paramètre de rapport, utilisez la syntaxe suivante:. params[parametername].value comme l'expression

Pour se lier à un fichier de propriétés, définissez le fichier de ressources dans les propriétés de haut niveau du rapport. De là, vous pouvez simplement utiliser la valeur de la propriété pour lier l'entrée à la source de données.

Bonne chance!

Autres conseils

Une alternative à la bonne @ la solution "propriété de liaison" de Mystik est externalisant à un profil de connexion .

  • Créer une source de données (dire "DS"), mise en place d'une configuration correcte des paramètres pour se connecter à un DB.
  • Faites un clic droit sur « DS »> Externaliser au profil de connexion ...> vérifier les deux options, définissez un nom pour le profil de connexion, Ok> définir le chemin et le nom devait enregistrer le Connexion Profil magasin (dire « reportName.cps »), désactivez l'option Crypter ... (de cette façon, nous pouvons modifier les informations dans le fichier XML à la main).

Maintenant, nous avons « reportName.cps », un fichier XML que nous pouvons modifier en fonction de l'environnement dans lequel nous plaçons notre rapport (développement, production, ...). Le problème est que « DS » a chargé statiquement les informations du « reportName.cps ». dans le chemin absolu que nous avons spécifié Il leur charge dinamically si elle peut trouver « reportName.cps ». Donc environnement changeant le chemin du fichier sera différent et le rapport ne trouvera pas notre dossier. Pour dire le rapport l'emplacement correct du fichier et le charger dynamiquement laisser de écrire un script:

  • Configuration Script beforeOpen pour utiliser le profil de connexion qui est déployée dans le dossier des ressources qui peut être différent pour chaque environnement:

    var myresourcefolder = reportContext.getDesignHandle().getResourceFolder();
    this.setExtensionProperty("OdaConnProfileStorePath", myresourcefolder + "/reportName.cps");
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top