Connexion de C # à Oracle
Quelle est la meilleure bibliothèque/driver pour connecter C# (.NET) d'application d'Oracle 10g et 11g.
Les options actuelles que j'ai trouvé sont:
- Oracle client qui vient avec l'installation de base de données
- Oracle Instant Client (qui est un peu déroutant, car il a 6-8 versions pour un certain nombre de systèmes d'exploitation)
- Microsoft ODBC ? (Cela peut-il être utilisé?)
- ODP.Net - est-ce que produit distinct ou est-il inclus dans le 1. et 2. ?
Quelqu'un peut-il expliquer les différences?
Je suis la planification d'application en C# qui va faire de base des opérations CRUD sur la base de données Oracle. Bibliothèque/pilote est le plus petit et le plus simple à installer?
Edit:
La recommandation générale est d'utiliser ODP.Net. Maintenant, quelqu'un peut-il expliquer ou le point de répondre à propos des différences entre le client d'installer des paquets. J'ai trouvé 3 types de clients pour Oracle 11g:
- Oracle client - client paquet de pilotes que des navires dans le cadre de l'installation de base de données
- ODAC - Oracle data access componentscontient beaucoup de choses, parmi eux, ODP.Net et Oracle Instant Client
- Oracle Instant Client qui contient également beaucoup de choses, y compris ODP.Net
Donc, ce qui est suffisant pour le développement? Documentation Oracle est très détaillé, mais ne dit rien sur les différences entre ces packages client. Je voudrais aller avec la plus petite (Client Instant). Est-il le meilleur choix?
Edit 2:
Je suis à l'aide .Net 3.5
source d'informationauteur zendar
Vous devez vous connecter pour publier un commentaire.
Pour connecter C# pour oracle vous avez besoin d'un fournisseur de données .net. Cela peut être l'un des suivants:
Tous de ce fournisseur de données ont besoin d'un client oracle installé. Il n'y a pas de bibliothèque autonome comme jdbc14.jar comme en java. Vous avez 2 choix du déploiement d'un client oracle:
ODP.Net, ODBC, OLEDB font partie des client complet. C'est le "dur" cela, parce que la procédure d'installation doit être exécuté sur chaque client en cours d'exécution de votre logiciel. C'est là que la plupart des méga-octets sont mis sur le client.
Le instant client sont fournis dans différents paquets. C'est la plus petite façon pour le déploiement d'un client oracle.
Je conseille ODP.Net avec Oracle Instant Clientparce que c'est facile à déployer et très très léger.
Instantanée packages client avez-vous besoin d':
Il y a beaucoup d'articles sur stackoverflow sur le déploiement d'oracle instant client avec des applications c#.
EDIT: liens mis à jour et les versions
Microsoft railler la
System.Client.OracleClient
espace de noms, donc je pense qu'il sera préférable d'utiliser ODP.NET. Assurez-vous de télécharger la dernière (ODP.NET 11g) que les versions précédentes a eu quelques problèmes.ODP.NET est le meilleur fournisseur pour accéder à Oracle db, principalement parce que c'est la plupart des autochtones, ce qui le différencie de ODBC par ce qui suit:
ODBC peut également être utilisé, mais comme mentionné ci-dessus, il va être plus lent et ont des fonctionnalités limitées.
Pour la fabrication de ODP.NET travail vous avez besoin du logiciel listées ici (et dont le client oracle):
http://www.oracle.com/technology/tech/windows/odpnet/faq.html#install
Espérons que cette aide!
Peut-être que je me trompe, mais ADO.NET ont intégré le support Oracle. peut-être que pour les versions antérieures...
Je pense que odbc est trop lent. Système.Les données.OracleClient est un peu trop lent et il sera obsolète par Microsoft.
Vous pouvez utiliser devart du fournisseur, il existe une version gratuite. Il est facile à déployer. Voir ici http://www.devart.com/dotconnect/oracle/ Il prend en charge l'entity framework.
Odp.net est rapide, mais il ne prend pas en charge le cadre de l'entité et il n'est pas très facile à déployer.
Je ne peux vraiment pas dire que les différences entre les solutions que vous avez fourni, mais j'ai toujours utilisé l'Oracle Composants d'Accès aux Données à partir d'Oracle et ça a toujours fonctionné sans problème. Il peut être trouvé ici : ODAC pour Visual Studio
Ce qui est sûr, c'est qu'une bibliothèque développée par Oracle sur le .NET Framework sera beaucoup plus précis qu'une librairie développée par une société externe à l'Oracle. Par exemple, concernant les exceptions levées lors de l'accès à une base de données Oracle, ils seront beaucoup plus utiles si la bibliothèque ont été développés par l'Oracle de développer de l'équipe comme ils ont aussi des connaissances sur Oracle DBs.
La mauvaise chose est que vous avez une dépendance, un problème que vous n'aurez pas à surmonter si vous choisissez d'utiliser l' .NET Système.Les données.OracleClient.
Espère que cette aide. Ce qui concerne.
EDIT : L'ODAC paquet contient de l'ODP et Oracle Developer Tools
ODP.NET est un fournisseur natif fo accéder à oracle db. Et par conséquent, il devrait être mieux optimisé pour oracle db. En outre, il ya oracle fonctionnalité, tels que le type de CURSEUR REF, qui ne sont pas pris en charge par MS ODBC, mais pris en charge par ODP.NET. Vous pouvez télécharger l'ODAC, qui comprennent ODP.NET ainsi, sur la http://www.aracle.com site web.