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

C# Discussion :

WPF et BDD Oracle


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut WPF et BDD Oracle
    Bonjour à tous,

    J'ai un léger souci concernant une application WPF ayant une connexion avec une base de données Oracle XE 10g.

    Je m'explique :

    J'ai une base de données sur un serveur distant, et une application WPF (avec un installeur) qui s'y connecte. Sur le poste où je développe, j'ai installé une base de données similaire (base de données de tests), ce qui fait que j'ai le ODP (OracleData Provider) d'installé sur mon poste et je peux me connecter à ma base de données distante.
    Par contre, et c'est là mon problème, lorsque j'exécute mon appli sur un autre poste (où le ODP n'est pas installé) cela ne fonctionne pas !

    Je pensais qu'il suffisait simplement d'inclure la librairie Oracle.DataAccess.dll à mon projet pour que cela fonctionne.

    Ma question est donc : est-il possible de se connecter sans avoir à installer le ODP ? En incluant d'autres dll peut-être ?

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Bonjour,

    De mémoire l'ODP doit être installé sur la machine.

    Autre point très important : Ce n'est pas une application WPF qui doit se connecter à la base de données. C'est une class library qui expose des méthodes pour executer certaines opérations sur la base de données normalement. Je te renvoie vers les innombrables articles vers les différents patterns d'architecture (notamment MVVM, vu que tu es en WPF).

    Ton problème est donc (ou devrait être) indépendant de la techno WPF, qui est uniquement une techno d'affichage.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    D'accord mais donc cela signifie que CHAQUE personne qui souhaitera installer mon application sera obligée de télécharger l'ODP et de l'installer ?
    Il n'y a vraiment pas moyen de contourner cela ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Si je me souviens bien tu as moyen d'inclure le ODP package dans le setup

  5. #5
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Si je me souviens bien tu as moyen d'inclure le ODP package dans le setup
    Il me semble bien aussi. Tout comme tu dois avoir un moyen d'embarquer .Net.
    Ca fait de gros setup, mais une application doit avoir tous ses éléments pour fonctionner.

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Si je me souviens bien tu as moyen d'inclure le ODP package dans le setup
    Vu que l'ODP installer est assez spécifique, j'ai un gros doute la dessus.

    Ce genre d'opération est en général possible avec des installers dans la "galaxie MS", dans les autres cas, ça me parait pas du tout évident.

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Dark_TeToN Voir le message
    D'accord mais donc cela signifie que CHAQUE personne qui souhaitera installer mon application sera obligée de télécharger l'ODP et de l'installer ?*
    Oui, bien sur. Et c'est valable pour n'importe quel provider de DB (le provider SQl Server est pré-installé mais ça ne change rien au fait qu'il doit être sur chaque client.

    Il n'y a vraiment pas moyen de contourner cela ?
    En évitant les applications 2-tiers. Mais j'avoue comprendre difficilement où est le problème. SI c'est un client qui utilise des bases Oracle, on peut penser que ses stations ont déjà le provider installé.

    EDIT : je me disais que ça me rappelait un truc auquel j'avais déjà répondu, il y a deux jours, ici

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Concrètement c'est le client Oracle que tu dois installer sur les postes distants :
    § Oracle Database 10g Express Client

    Grâce à ça tu pourras attaquer le serveur Oracle. Cet exécutable peut bien sûr être ajouté à ton setup de déploiement si tu en as un

  9. #9
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour déployer dans ce cas, nous utilisons ODPXCopy.

    Voir cet article : http://www.oracle.com/technetwork/is...et-101744.html

    Et surtout bien penser à modifier la variable PATH de l'environnement.

  10. #10
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Ou alors (mais c'est payant) il y a Devart (http://www.devart.com/dotconnect/oracle/) qui fait un connecteur Oracle qui peut passer en direct (donc sans le client installé).

  11. #11
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Dark_TeToN Voir le message
    Ma question est donc : est-il possible de se connecter sans avoir à installer le ODP ? En incluant d'autres dll peut-être ?
    Autre solution, est d'utiliser la couche d'accès Oracle de Microsoft (NS System.Data.Oracle). C'est nettement moins performant que l'ODP mais je crois que c'est capable de fonctionner sans le client Oracle installé (à vérifier, car pour ma part, j'utilise l'ODP).

    Si ton appli est codée correctement, tu as juste à modifier ta factory de connexion, ou à modifier l'appel à la ProviderFactories.

  12. #12
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Une autre solution est de coder ta partie ADO en WS et d'y acceder depuis ton appli client. Plus de connecteur à installer, tu récupères juste les entités et point barre
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  13. #13
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    Merci pour ces conseils !

    Je ne sais pas encore pour quelle solution je vais opter, mais je vais essayer d'inclure l'ODP à mon install...

    Dans le pire des cas, je ferai des WebServices ! Si quelqu'un a un bon tuto (je n'ai pas encore cherché mais dans le pire des cas je chercherai) sur l'inclusion d'un install dans un installeur afin qu'il se démarre automatiquement je suis preneur

    Merci encore

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 28/07/2005, 14h12
  2. Accès BDD Oracle
    Par rgarnier dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2005, 15h03
  3. Export Acces->Excel Requette sur bdd oracle
    Par cedrickb dans le forum Access
    Réponses: 2
    Dernier message: 31/12/2004, 14h27
  4. Connexion BDD oracle TNS protocol adapter error
    Par cedrickb dans le forum Access
    Réponses: 3
    Dernier message: 30/12/2004, 13h02
  5. Créer une BDD Oracle sur windows
    Par calimero82 dans le forum Administration
    Réponses: 7
    Dernier message: 25/10/2004, 15h30

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