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 :

Définir une seule DataSource pour toutes ses librairies


Sujet :

BIRT

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut Définir une seule DataSource pour toutes ses librairies
    Salut, j'ai un souci concernant mes datasources.

    J'ai x librairies qui tapent sur la même base de données.
    Du coup, j'ai paramétré une datasource dans chacune des librairies.

    J'aimerai (pour des raisons de maintenance, déploiement, etc.) que toutes mes librairies utilisent une datasource qui serait configurée à un seul endroit.

    Par ex, que chacune de mes lib aille chercher la conf de sa datasource dans un fichier commun dans les ressources... un truc comme ça par référence en fait.


    Est-ce possible? et comment ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Re, visiblement, il faudrait que j'utilise un "Dynamic Connection Profile".

    Ok, ça m'a l'air sympa, le problème, c'est que je trouve pas comment le créer ce profile .

    Tout le monde parle de window>show view >other >connection... etc.
    Mais moi j'ai pas cette show view dans mon designer, ni en 2.2.2, ni en 2.3.0..

    Vous avez déjà fait ça ?

  3. #3
    Membre éprouvé Avatar de HelpmeMM
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juin 2007
    Messages : 473
    Points : 969
    Points
    969
    Par défaut
    window=show view=> other jusque la j'ai mais après j'ai un truc qui s'appelle connectivity et dedans le dossier un data source explorer mais pas de connection

    jamais utiliser j'utilise un lib avec une data source pour le moment

  4. #4
    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
    Ce n'est pas possible d'utiliser un datasource d'une librairie dans d'autres librairies et dans différents rapports à cause des problèmes de namespace. Tu trouveras ci-joint un document décrivant les raisons.
    Images attachées Images attachées

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Bon, j'ai trouvé...partiellement.

    Dans la version 2.3.0 rc1 du designer, quand on veut créer une datasource from a connection profile, on peut créer ce fichier à la volée.

    Donc j'ai créé mon fichier de profil que je suis maintenant en train de tester en l'utilisant dans une des mes lib en 2.2.2.

    Un fichier de connection profile, ça ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <DataTools.ServerProfiles version="1.0">
    	<profile autoconnect="No" desc="" id="03787fb0-2c99-11dd-808d-c70793e96c94" name="BIRT JDBC Data Source" providerID="org.eclipse.birt.report.data.oda.jdbc">
    		<baseproperties>
    			<property name="odaJndiName" value=""/>
    			<property name="odaDriverClass" value="org.postgresql.Driver"/>
    			<property name="odaURL" value="jdbc:postgresql://IP_ADRESS:5432/xxx"/>
    			<property name="odaPassword" value="zzz"/>
    			<property name="odaUser" value="yyy"/>
    		</baseproperties>
    	</profile>
    </DataTools.ServerProfiles>
    Je vous tient au courant...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Bon, sous le designer, ça fonctionne, si on change la conf du fichier de conf, la datasource utilisée change aussi ses paramètres.

    Le truc bizarre, c'est qu'au niveau du code xms de la rptlibrary, la datasource stocke les paramètres de connexion... et le chemin absolu du profil de connexion.

    1- pourquoi stocker les info de connexion pour les réécraser à chaque fois ?
    2- pourquoi un chemin absolu et pas une utilisation classique (comme pour les ressources css, etc.)

    le point 2) fait que sous iServerExpress, ça fonctionne pas... La lib va pas chercher le profil de connexion.

    des infos et réactions là dessus ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Bon, des news...

    L'utilisation d'un profil de connexion (fichier xml à part) fonctionne bien dans le principe.

    Le soucis, c'est que le chemin absolu de ce fichier est stocké dans le rapport ou la lib qui l'utilise pour paramétrer sa datasource.

    Qui dit chemin absolu dit donc problème entre Windows et Linux...

    Ba vi, ça marche plus sous linux, parce que le fichier de config n'est pas trouvé.
    Si on bidouille ce chemin pour mettre un truc du style linux /etc.... et qu'on déploie le rapport ou la lib, ba ça fonctionne.

    Quelqu'un a 'til une idée pour passer ce gros gros problème ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Voilà, ça m'a agacé, j'ai posté un bug pour dire que c'était en absolu, et que ca devrait être en relatif par rapport aux resources (comme les lib et css).

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=234396


    On verra ce que ça donne.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Bon, mon bug est duplicated, ce qui ne me surprend pas des masses.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=215497

    Celà dit, je ne comprend rien à la résolution... Pouvez lire le bug et m'aider ?
    SVP...

  10. #10
    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
    meurwinn, même si tu arrives à créer une source de données à partir d'un profil de connexion, tu ne pourras pas utiliser cette source créer dans un librairie dans d'autres librairies et dans des rapports en raison des espaces de nom. (cf Message précédent)

    Par contre, tu peux créer une source de données dans chaque librairie pointant vers le profil de connexion.

    Erwan

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Je suis bien d'accord avec toi, j'ai plusieurs lib. Chacune aura un datasource pointant sur le même "connection profile".


    Mais comment définir le chemin du connection profile pour que ça fonctionne dans l'ide sous windows et en déploiement sur un linux ?

  12. #12
    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
    Là, je pense qu'il s'agit d'un manque de BIRT. Il utilise pour les sources de données des chemins absolus au lieu d'utiliser des chemins relatifs. J'avais eu le cas en utilisant des fichiers CSV comme source de données. J'ai dû intégrer ces données dans une base de données pour contourner ce problème.

    Erwan

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    Sauf que ma demande est en duplicated et que le bug source est en wontfix /close.


    Mais je ne pige pas leur solution...

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 158
    Points : 119
    Points
    119
    Par défaut
    En bref j'aimerai pourvoir accéder à la variable du web.xml "BIRT_RESSOURCE_PATH" au sein d'un rapport ou lib.

    Par exemple afficher cette valeur dans un dynamic text, et à fortiori dans le property binding de définition des datasources (pour le chemin de mon connection profile).

    Comment faire ?
    "config["BIRT_RESSOURCE_PATH"]"
    ou config["BIRT_RESSOURCE_PATH"]
    ou autre chose ? En gros, c'est quoi la syntaxe pour aller chercher ces valeur ?

Discussions similaires

  1. une seule boite! pour tout une base
    Par stephanech dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/04/2009, 07h20
  2. Définir une base numérique pour tout un programme
    Par stevin dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 21h36
  3. utiliser une seule servlet pour toutes les jsp
    Par DoubleU dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 20/09/2007, 19h30
  4. [Formule]Une seule formule pour toute la colonne ?
    Par marot_r dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/04/2007, 19h19
  5. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41

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