Comment écrire une .Net application qui fonctionne avec SqlServer et Oracle (maintenant que Système.Les données.OracleClient est déconseillée)

voir aussi Système.Les données.OracleClient espace de noms abandonnées?

(D'abord pas de panique pourtant, Système.Les données.OracleClient n'est pas supprimé par Microsoft encore, cependant, il n'est pas dans la version du client .net 4)

Cette utilisation possible par l'utilisation du Système.Les données.OracleClient, cependant, Microsoft a décidé de déprécier OracleClient. (OracleClient est l'ADO.NET provider for Oracle développé par Microsoft et navires comme une partie de la .NET Framework.)

Vous pouvez utiliser ODP.Net cependant ne vous voulez que votre Serveur Sql server clients d'avoir à installer ODP.Net? (Voulez-vous un de vos clients à avoir à installer de logiciel Oracle?)

DataDirect n'est pas une option, car elle coûte un bras et une jambe; il peut juste au sujet abordable si vous devez vous connecter à un serveur unique d'un mainframe. Cependant, il n'est pas possible de s'attendre à ce que tous les clients à acheter.

Forme mobile C#, Java n'est pas une bonne option, car je suis un programmeur C# et que vous souhaitez être en mesure de gagner leur vie!

Comme la plupart des Éditeurs de logiciels qui ont en charge plusieurs SGBDR nous avons seulement besoin d'une solution qui nous permet d'utiliser le petit sous-ensemble de l'Oracle, qui est le même que SqlServer. Donc Le Système.Les données.OracleClient était assez puissant pour nous.

(Peut-être que nous devrions commencer à stocker toutes les données dans des fichiers plats, de sorte que le client DBA arrêter d'essayer de nous dire comment écrire des logiciels. Oracle Dba sont les pires!)


Ma vraie question est comment puis-je écrire .NET logiciel qui parle à Oracle qui est en nous sans douleur pour installé .NET logiciel qui communique avec SqlServer. Avoir à utiliser ODP.NET tout à fait le client oracle installer encore plus douloureux, avec encore plus de mal se passer.

Si j'ai été à l'aide de JAVA j'ai juste l'utilisation de JDBC de type 4 pilotes. Microsoft fournit un pour SqlServer et Oracle fournit un pour Oracle. Cependant, il semble que l'Oracle veut faire .Net utilisation aussi dur que possible et Microsoft veut faire de l'Oracle d'utilisation aussi dur que possible.


Jusqu'à présent, le meilleure option ressemble devArt de dotConnect.

Cependant je commence à cause de la météo .NET est un bon système de développement pour les ISV, que tôt ou tard, vous obtenez toujours un client qui demande le support d'oracle. Dans le monde Java, ils semblent avoir ce problème résolu.


Il ressemble Oracle peut être sur le point de sortir une senible Entièrement Géré ADO.NET fournisseur de vis à vis, il peut même être plus facile à installer! voir ici que les allégations de Bêta – 2011, de la Production à la Fin de 2011.

  • J'avais voter cette question 50 fois si je le pouvais. Oracle logiciel client est un pain PITA. .NET applications devraient être en mesure de se connecter aux serveurs Oracle sans avoir à installer de logiciel client propriétaire de la première (MySql n'en a pas besoin, pourquoi Oracle?)
  • Terrible terrible décision. Peut-être qu'ils devraient arrêter de soutenir IE parce qu'il y a de la 3e partie des solutions de rechange disponibles. Quelle stupide raison. </rant>
  • Pourquoi ne pas simplement abstraction de votre db Connexions à l'aide d'un ORM comme NHibernate ou le rôle de votre propre abstraction en utilisant le Fournisseur de l'Usine de Modèle, vous pouvez utiliser n'importe quel DB que vous voulez sans avoir à modifier votre code
  • Ca Le Janitor -> UN ORM ou notre propre couche d'abstraction encore à s'asseoir sur le dessus de quelque chose qui a parlé à Oracle.
  • Mais vous ne devez inclure Oracle, où ils sont à l'aide de Oracle
  • Votre question est vraiment, "Comment puis-je obtenir ODP.NET sur mon client et les développeurs de machines'?" Car il semble que vous êtes bien sur le ADO.NET côté. Et je trouve ça bizarre, parce que même Système.Les données.OracleClient nécessaire à une installation de travailler avec de nombreuses configurations Oracle.
  • Je pense qu'il est. Laissez le client installer le client Oracle + odp.net (c'est une installation).
  • Oracle a annoncé que, dans le courant de 2011, ils vont sortir complètement gérée version de la ODP.NET fournisseur (aka client léger). Lorsque cela se produit, il n'y aura pas de dépendance par ODP.NET sur tous les autres fichiers et ce mal de tête va passer.
  • s'il vous plaît ajouter une réponse, y compris des liens vers les infos de la version gérée de la ODP.NET donc, je peux upvote il
  • voici quelques liens: oracle.com/technetwork/topics/dotnet/tech-info/... apex.oracle.com/pls/apex/f?p=18357:46
  • Entièrement géré ODP.NET est disponible en version bêta dès maintenant. Il est à moins de 10 MO en taille et ne pas avoir de dépendances sur tous les autres fichiers: EDIT: la date de rédaction de cette version bêta est disponible ici: oracle.com/technetwork/database/windows/downloads/... (Ce lien vous briser une fois qu'il va à la production)

InformationsquelleAutor Ian Ringrose | 2009-07-28