Oracle
 sql >> Base de données >  >> RDS >> Oracle

ODP.NET nécessite-t-il l'installation du client Oracle

Alex Keh d'Oracle en août 2013 dit :

ODP.NET géré est publié. Il fait actuellement partie du client Oracle DB 12c. Pour utiliser ODP.NET géré, vous devez télécharger et installer le client DB. À partir de là, vous pouvez extraire uniquement les fichiers d'assemblage et de configuration ODP.NET gérés. Ces fichiers pèsent moins de 10 Mo et peuvent être déployés sur n'importe quelle machine cible.

Actuellement, nous emballons une version ODP.NET gérée de manière autonome et une version ODAC 12 qui sera beaucoup plus petite. Cela sera publié sur OTN sous peu.

Si vous pouvez attendre quelques jours, ODAC 12c sera disponible sur OTN et vous pourrez télécharger cette version. Ce sera notre dernière et plus grande version gérée d'ODP.NET

====

Nous ne prévoyons pas de mettre ODP.NET géré sur NuGet. Nous pensons que le téléchargement ODP.NET géré avec ODAC offrira les mêmes avantages que NuGet en termes d'isolation d'assemblage et de taille de téléchargement.

Il existe un fil de discussion sur la question de savoir si Oracle doit fournir la prise en charge de managedODP.NET NuGet. Une fois que vous utilisez ODAC 12c, j'aimerais savoir si la prise en charge de NuGet est toujours nécessaire.https://forums.oracle.com/thread/2559445

ODP.NET géré par Nuget :

PM> Install-Package Oracle.ManagedDataAccess

Alors, quel est le problème ?
Jusqu'à présent, ODP.NET était une couche .NET qui communiquait avec les fichiers .dll du client Oracle, un petit fait qui avait de nombreuses implications :

  • Grande empreinte d'installation (plusieurs centaines de Mo)
  • Déploiement difficile sur des machines distantes :nécessite l'installation d'ODP.NET sur la machine cliente ou le déploiement de fichiers volumineux
  • Difficile lorsque vous travaillez avec plusieurs versions, systèmes d'exploitation et applications 32 bits/64 bits

Alors qu'est-ce que c'est ?

Le pilote géré est essentiellement un fichier .dll unique avec une implémentation .Net native d'ODP.NET.
Cela signifie qu'aucun client Oracle n'est nécessaire, et maintenant le code natif est dans les coulisses. L'installation de XCopy peut être effectuée facilement.

Principaux avantages :

  • Petite empreinte
  • Compilé comme n'importe quel processeur afin qu'il puisse fonctionner sans problème sur un système d'exploitation et une application 32 bits/64 bits. Gestion facile de plusieurs versions sur la même machine
  • Peut être déployé en tant que simple référence dans le répertoire applicationbin.

Alors, quel est le problème ?

  • Toutes les fonctionnalités ne sont pas prises en charge (bien que la plupart d'entre elles le soient...), vous pouvez en savoir plus sur la documentation
  • L'espace de noms est passé d'Oracle.DataAccess.Client à Oracle.ManagedDataAccess.Client
  • Les différences de performances ne sont toujours pas claires. (L'ancien) code natif fonctionne toujours très efficacement, mais d'un autre côté, le code géré à 100 % présente des avantages en termes de performances.

Veuillez noter que le code natif ODP.NET est toujours très disponible. La version gérée (du moins pour l'instant) vient s'ajouter à la version native.

Références :http://oracleatdotnet.blogspot.com.es/2013/07/odpnet-managed-driver-beta-2.html

Différences entre le pilote géré ODP.NET et le pilote non géré http://docs.oracle.com/html/E41125_02/intro004.htm

Fonctionnalités du fournisseur de données Oracle pour .NET http://docs.oracle.com/database/121/ODPNT/features.htm#ODPNT0007