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.0] Birt avec Postgres


Sujet :

BIRT

  1. #1
    Membre du Club Avatar de Dido90
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 85
    Points : 60
    Points
    60
    Par défaut [2.3.0] Birt avec Postgres
    Bonjour à toutes et tous,

    Mon soucis est que j'ai une base sous postgres et mes données sont dans le schéma par défaut public, lorsque je fais des requêtes, à l'heure actuel ça ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT monChamp FROM maTable;
    Ainsi ma requête va taper directement dans le schéma par défaut, donc public.

    Maintenant, si j'ai mes données dans un autre schéma, par exemple data, je doit modifier mes requêtes pour qu'elles soient comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT data.maTable.monChamp FROM data.maTable;
    Ma question, comment faire pour garder la requête comme elle est au début (c'est-à-dire sans préfixer les champs avec le schéma en question) et indiquer à BIRT quel schéma attaquer ... ??? (Car le nom du schéma peut varier selon les cas...)

    Merci d'avance ^^

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut solutions
    vous avez plusieurs solutions.

    no1 : externaliser la connexion dans un fichier XML ou via JNDI. Peut etre l'URL JDBC de Postgres peut contenir le nom de la base. ce serait une soluce simple et pas chère ( 2 min )

    no2 : externaliser la requete. Par exemple un fichier XML/txt qui est chargé ensuite passé à la base.

    no3 : coder un peu le dataset afin de l'adapter a des sources différentes. Vous avez un certain nombre de possibilité via du code sur le dataset ( onglet Script , methode BeforeOpen ). vous avez des exemples récents dans les posts en-dessous.

    ces 3 sont gratuites.

    il existe une 4e qui est le fait d'utiliser des métadonnées. ( Actuate Information Objects ). Vous modifiez un seul param et vous impactez TOUT. Ce produit est payant. On imagine bien pourquoi, c'est qqch de tres puissant.

  3. #3
    Membre du Club Avatar de Dido90
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 85
    Points : 60
    Points
    60
    Par défaut
    Salut Stefan C,

    no1 : externaliser la connexion dans un fichier XML ou via JNDI. Peut etre l'URL JDBC de Postgres peut contenir le nom de la base. ce serait une soluce simple et pas chère ( 2 min )
    J'ai déjà externalisé ma connexion dans un fichier de profil XML et j'ai mis comme chaine de connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:postgresql://serveur:5432/base/schema/"
    Mais ça n'a pas l'air de fonctionner, il va toujours dans public ...

    Pour les autres solutions, ça impliquerai que je fasse un "traitement" sur toutes mes requêtes, donc vu le nombre ... ce sont pas des solutions rapides et simple

    J'avais vu sur une doc postgres qu'on pouvais changer le répertoire par défaut en exécutant la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET search_path TO new_schema;
    afin de changer le chemin du schéma par défaut, mais il semble que ça soit un paramètre lié à la session en cours, et ça reprend toujours son ancienne valeur donc ca ne marche pas... (ou bien j'ai mal compris ... possibilité à ne pas exclure lol )
    cf. : [URL="https://postgresql.developpez.com/documentation/francais/[/URL] dans la partie 5.7.3

Discussions similaires

  1. DESCRIBE avec Postgres ?
    Par sarah79 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/05/2007, 14h54
  2. gestion de l'espace disque avec postgres
    Par mbasu dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/03/2007, 13h43
  3. problème de connection java avec postgres
    Par jayfaze dans le forum JDBC
    Réponses: 3
    Dernier message: 23/01/2007, 00h46
  4. Limiter les affichages d'une requete avec POstgre
    Par jenny50 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/01/2006, 17h26
  5. les cleints avec postgres
    Par hama dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 26/09/2005, 12h27

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