IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

[2.3] Data Source XML


Sujet :

BIRT

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut [2.3] Data Source XML
    Bonjour,

    J'ai un rapport pour lequel j'ai dèjà mis en en place une Data Source de type JDBC sur laquelle s'appuient qqes Data Set.
    Je souhaite désormais que ma Data Source s'appuie sur un fichier XML afin de pouvoir modifier uniquement le fichier XML pour tout changement d'adressage de la base de données source (livraison chez un client, changement de serveur, de port ...)

    Existe-t-il un format type de fichier xml de connection ?

    Merci de m'aiguiller je rame un peu sur le sujet .

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    Quelle version de BIRT utilises-tu ?

    Il existe les profils de connexion : http://www.eclipse.org/birt/phoenix/....3.php#jump_14

    mais je ne crois pas qu'il s'agit de fichier XML.

    Deux sujets semblables au tien ont déjà été postés sur ce forum :

    http://www.developpez.net/forums/d33...n-data-source/
    http://www.developpez.net/forums/d55...tasource-jndi/

    Bon courage.

    Erwan

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    J'utilise la version 2.3 de BIRT.
    J'ai un peu progressé sur le sujet, j'ai pu créer une source de données s'appuyant sur un fichier XML.
    Je suis passé effectivement par un profil de connection dans lequel j'ai défini une connection en jdbc à ma base de données cela a eu pour effet de me constituer un fichier XML sur disque.

    Je peux effectivement modifier les informations contenues dans ce XML, le rptdesign les prend en compte.
    Par contre il subsiste dans mon fichier rptdesign une référence au fichier de connection avec une adresse absolue et non relative.

    <property name="OdaConnProfileStorePath">C:\Mondisque\ma_connection.xml</property>
    Cela risque de poser un probleme si je livre mon rapport sur une plate forme sur laquelle cette adresse sera inconnue.
    Peut-on avoir une adresse relative en lieu et place de cette adresse absolue (et relative à quoi ?) ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    J'ai pu progresser un peu sur le sujet.

    J'explique la méthode employée pour la création d'une nouvelle data source.
    1 - New data source via mon RCP Designer, choisir "Create from a connection profile in the profile store".
    2 - Définir un nouveau "connection profile store" en cliquant sur "New..."
    3 - Définir un nouveau "connection profile" en cliquant sur "New..."
    4 - Spécifier que la connection se fera via un lien jdbc (BIRT JDBC Data Source)
    et nommer votre "connection profile".
    5 - Préciser les caractéristiques de votre connection
    Driver / Url / Name / Password
    6 - Retour sur les informations relatives au "connection profile store", sélectionner dans la liste le "connection profile" créé précédemment et préciser le chemin et le nom de votre "connection profile store" (moi j'ai mis un ficiher xml vide Connection.xml sur mon disque dur)
    Décocher "encrypt file content" afin de pouvoir eventuellement modifier ce fichier xml. Valider
    7 - Retour sur l'écran "Select a connection profile", cliquer sur votre "connection profile" créé précedemment pour de nouveau l'associer à votre nouveau "connection profile store". Valider

    Cela a pour effet de générer un fichier Connection.xml avec les infos de connection mentionnées lors de la création du "connection profile"
    Le fichier rptdesign contient également dans la zone <oda-source> une référence en absolu à mon disque dur comme je lui ai indiqué lorsque j'ai créé mon "connection profile store".

    Afin de pouvoir utiliser le fichier Connection.xml via un chemin relatif lorsque je devrais le déployer en production via un Birt-Viewer, j'utilise l'ongler property binding de ma data source nouvellement créée.
    1 - indiquer le nom du "connection profile" à utiliser, celui créé précédemment (entre guillemets)
    2 - Indiquer le chemin de votre "connection profile store" avec le script suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    reportContext.getAppContext().get("birt.viewer.resource.path") +"\\Connection.xml"
    Attention ceci implique que le fichier Connection.xml soit placé dans le répertoire racine du Birt-Viewer.

    Les tests pratiqué montrent qu'effectivement si je change l'url jdbc contenue dans mon fichier Connection.xml, mon rapport attaque différentes bases de données.

    J'ai tout de même un point bloquant sur la construction du chemin du "connection profile store", en effet si j'utilise le code suivant tout va bien si je suis dans le monde Windows.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    reportContext.getAppContext().get("birt.viewer.resource.path") +"\\Connection.xml"
    Par contre si je suis dans un environnement Linux cette chaine n'est pas utilisable.

    Ma question est la suivante (je ne connais pas bien javascript) comment puis-je récuperer via une focntion javascript l'OS sur lequel est installé mon Birt-Viewer afin de conditionner les "property binding" de ma data source.

    Merci d'avance

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Essai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reportContext.getAppContext().get("birt.viewer.resource.path") +"/Connection.xml"

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut
    Merci Erwan,

    En fait j'ai ajouté ceci dans mon "property binding" ça devrait faire l'affaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (reportContext.getAppContext().get("birt.viewer.resource.path").indexOf("/",1)==1?reportContext.getAppContext().get("birt.viewer.resource.path")+"/Connection.xml":reportContext.getAppContext().get("birt.viewer.resource.path")+"\\Connection.xml")
    Je teste un peu plus avant de placer en résolu.

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Le "/" fonctionne dans les deux cas (windows, unix) je pense. A tester ...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut
    Effectivement le "/" fonctionne pour Windows et Unix

    Derniers tests demain matin afin de placer en résolu.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Définition DataSet - XML Data Source
    Par inconnu00 dans le forum BIRT
    Réponses: 1
    Dernier message: 16/07/2013, 08h56
  2. Excel a XML (pour les data sources)
    Par slimlus dans le forum BIRT
    Réponses: 2
    Dernier message: 27/09/2010, 14h14
  3. [2.5.1] Data source XML dynamique (PHP + Birt)
    Par leprechaun dans le forum BIRT
    Réponses: 7
    Dernier message: 24/10/2009, 15h51
  4. Réponses: 4
    Dernier message: 30/06/2009, 11h36
  5. Réponses: 1
    Dernier message: 25/08/2007, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo