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

Accès aux données Discussion :

Connexion simultanée à 2 bases Oracle sur deux serveurs distincts


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Novembre 2006
    Messages : 79
    Points : 54
    Points
    54
    Par défaut Connexion simultanée à 2 bases Oracle sur deux serveurs distincts
    Bonjour,

    J'ai 2 SGBD Oracle tournant sur deux serveurs différents.
    Je dois croiser les informations des 2 bases, en asp.net.

    Comme le faire simplement avec ADO.net, Linq To Entity ou Linq To Sql.

    Merci d'avance,

    Hervé

  2. #2
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Je crois, Oracle fourni un provider pour Linq mais je ne sais pas ce qu'il vaut et les limitation qu'il pourrait avoir par rapport au fonctionnalités oracle. trouver...
    Donc je ADO c'est plus simple.

    Une première technique consisterais à créer un dblink entre les bases. Du coup il suffit d'avoir une connexion à la base ayant accès à l'autre et on peut ainsi créer des requêtes croisant le deux bases.

    Sinon 2 connexions on récupère 2 listes de données et on peut utiliser Linq (tout court) pour croiser les 2 résultats, cela risque bien sûr de charger un peu le serveur applicatif.

  3. #3
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Une première technique consisterais à créer un dblink entre les bases. Du coup il suffit d'avoir une connexion à la base ayant accès à l'autre et on peut ainsi créer des requêtes croisant le deux bases.
    A n'utiliser que pour croiser des requêtes en revanche...
    Gardez à l'esprit que si vous ne faites qu'une CS pour vous simplifier la vie les requêtes passeront deux fois par le réseau...

    Sauf si vos instances son sur un même serveur physique?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Novembre 2006
    Messages : 79
    Points : 54
    Points
    54
    Par défaut Merci
    Merci beaucoup pour votre aide.
    à priori une seule connectionString.
    Les 2 instances sont sur 2 serveurs différents.

    Je penche donc plutôt pour la solution du dblink.



    Mais comme ce sont des bases critiques en production, je dois demander des autorisations pour créer ce dblink.

    Je vous tiens au courant.

  5. #5
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    à priori une seule connectionString.
    Les 2 instances sont sur 2 serveurs différents.
    Donc si vous faites un select sur le serveur 2 en passant par le serveur 1 vos données:
    transitent entre le 2 et le 1 puis entre le 1 et votre serveur client...

    Vous doublez le trafic réseau?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  6. #6
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Oui mais le choix d'un archi ou de l'autre dépend des volumes en jeux et de la liaison entre les serveurs à priori s'ils sont sur les même site avec une liaison 1Go alors bon ça n'a pas d'importance.
    Sinon il faut voir si le fait de "croiser" les données démultiplie ou réduit le volume. S'il démultiplie il vaudrait mieux travailler sur le serveur applicatif sinon sur un des serveur de base de données.
    Mais bon il est fort à parier que les serveur de BDD sont plus puissants et oracle plus adapté pour ce genre de traitement donc dblink devrait être plus performant.

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Novembre 2006
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par NicoL__ Voir le message
    Mais bon il est fort à parier que les serveur de BDD sont plus puissants et oracle plus adapté pour ce genre de traitement donc dblink devrait être plus performant.
    Petite précision, je viens de faire le dblink sur la base Oracle Flexcube, qui est une application Oracle de core banking. (http://www.oracle.com/us/industries/...es/046655.html)

    Le dblink s'est fait sans soucis apparent.
    Seul soucis : le support Oracle semble déconseiller les DBLink sur Flexcube...

  8. #8
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Je ne connais pas Oracle Flexcube, mais en lisant la présentation, il est décrit que cela doit fournir des service de type SOA, donc dans ce cas il est plus sûr de consulter le Flexcube en consommant ce web service. Et du coup de réaliser la croisement des données coté applicatif.

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Novembre 2006
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par NicoL__ Voir le message
    ... dans ce cas il est plus sûr de consulter le Flexcube en consommant ce web service. Et du coup de réaliser la croisement des données coté applicatif.
    Ah, jamais entendu parler de webservice exposé avec Flexcube...

  10. #10
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Dans ce descriptif il est question de SOA :
    http://www.oracle.com/us/industries/...es/046901.html

  11. #11
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Novembre 2006
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    C'est vrai.
    Mais la version de Flexcube que j'utilise est ancienne.
    Finalement, j'ai fait un BDLink, une vue.
    Je créé une entité à partir de cette vue, et ça fonctionne nickel !

    Merci pour votre aide,

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

Discussions similaires

  1. [MySQL] Jointure sur 2 bases hébergées sur 2 serveurs distincts
    Par DarkVader dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 09/11/2012, 19h00
  2. Réponses: 5
    Dernier message: 04/06/2012, 16h48
  3. Réponses: 4
    Dernier message: 11/02/2008, 09h12
  4. SSO tomcat et php sur deux serveurs distincts
    Par vincinou dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 05/06/2007, 15h40
  5. créer une base ORACLE sur un serveur WINDOWS
    Par big1 dans le forum Oracle
    Réponses: 3
    Dernier message: 19/09/2006, 11h52

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