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

JDBC Java Discussion :

[JDBC] Architecture multi DataSources


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut [JDBC] Architecture multi DataSources
    Bonjour,

    Je me pose un problème à la fois technique et d'architecture.

    Dans un projet JBC/Struts, dans une action puis via un Bean AccessBean, je récupère

    1. une liste d'objets "Produit1" dans une base BD1.
    L'objet Produit1 contient un codeProduit1, un nomProduit1.

    2. A partir de cette liste je veux récupérer, dans une autre base BD2 des infos par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select prix_produit2, poids_produit2 
    from Produit2 
    where codeProduit2 in ( --- la liste de codeProduit1 ---);
    Ces deux requêtes sont bien exécutées l'une appres l'autre, entre les 2 je reviens dans l'action pour changer de DataSource (archi de l'application oblige).


    Je veux afficher les résultats dans un tableau du type :

    codeProduit1 nomProduit1 prix_produit2 poids_produit2
    ------------------------------------------------------------------------


    J'ai plusieurs problèmes :
    - la liste de Produit1 est ordonnée selon un critère particulier (qui n'existe pas dans Produit2) donc au moment du traitement dans ma jsp, mes 2 listes sont chacune affichées dans leur propre ordre .... Et les lignes sont incohérentes..
    Par exemple si en base j'ai ces 2 produits :
    codeProduit1= 120
    nomProduit1= table_basse
    codeProduit2= 120
    prix_produit2= 50
    poids_produit2= 19

    codeProduit1= 260
    nomProduit1= crayon
    codeProduit2= 260
    prix_produit2= 2,5
    poids_produit2= 0,03

    A l'affichage j'obtiens (pas forcément, mais sur une liste de 50 produits c'est aléatoire) :


    codeProduit1 nomProduit1 prix_produit2 poids_produit2
    ------------------------------------------------------------------------
    120 table_basse 2,5 0,03
    260 crayon 50 19


    Vous allez me suggérer de classer mes listes par codeProduit1 et codeProduit2, mais le deuxième probleme arrive !!
    - en effet, je n'ai pas forcement de correspondance dans la table Produit2 !! Par exemple la table_basse de code 120 peut ne pas exister dans la table Produit2..

    J'ai donc pensé faire ma deuxième requete au fur et a mesure de la première requete (dans le parcours des résultats de la premiere requete).
    Dans ce cas, j'ai plusieurs questions :

    - Comment ca se passe au niveau des performances ?... Je vais faire autant de requêtes sur la BD2 que j'ai de codeProduit1, qu'en pensez vous ?

    - Etant donnée mon archi, comment changer de DataSource comme ca, dans un While .... ?


    Merci d'avance à ceux qui pourront m'aider.

    Flo

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 75
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Tu pourrais peut être jeter un oeil su C-JDBC (http://c-jdbc.objectweb.org/).
    Je crois que cela permet d'acceder à plusieur data source de maniere transparente (je n'ai jamais essayer).

    Louis
    Louis

  3. #3
    crv
    crv est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Salut,
    Et si tu classais liste1 par codeProduit1, et liste2 par codeProduit2
    ensuite tu boucles sur liste1, et mais passes au suivant dans liste2 que si liste1.codeProduit=liste2.codeProduit

    Je suis peut être pas très clair ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 214
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par crv
    Salut,
    Et si tu classais liste1 par codeProduit1, et liste2 par codeProduit2
    ensuite tu boucles sur liste1, et mais passes au suivant dans liste2 que si liste1.codeProduit=liste2.codeProduit

    Je suis peut être pas très clair ?
    En effet c'est une bonne idée, mais ca sous entend que je change de Datasource au moment du traitement de la première requete, ce que je ne suis pas sure de pouvoir faire étant donnée mon architecture actuelle
    Aie aie aie, pour un vendredi c'est trop de réflexion

Discussions similaires

  1. architecture multi-tiers et contexte utilisateur
    Par cyrille37 dans le forum ASP.NET
    Réponses: 14
    Dernier message: 22/01/2008, 11h29
  2. Architecture Multi-Agents (OAA)
    Par In Vino Veritas dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 10/08/2007, 15h20
  3. Architecture multi couches avec librairie borland?
    Par seb_asm dans le forum JBuilder
    Réponses: 4
    Dernier message: 08/06/2005, 10h14
  4. [Déploiement] Architecture multi-étage
    Par brigittebardot dans le forum Autres Diagrammes
    Réponses: 2
    Dernier message: 10/01/2005, 21h38
  5. [JDBC][ARCHITECTURE] application swing
    Par benssj5 dans le forum JDBC
    Réponses: 6
    Dernier message: 31/08/2004, 19h25

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