Alex Keh de Oracle en agosto de 2013 dice:
Se lanza ODP.NET administrado. Actualmente es parte del cliente Oracle DB 12c. Para usar ODP.NET administrado, debe descargar e instalar el cliente DB. Desde allí, puede extraer solo los archivos de instalación y montaje de ODP.NET administrados. Estos archivos tienen menos de 10 MB y se pueden implementar en cualquier equipo de destino.
Actualmente, estamos empaquetando una versión administrada independiente de ODP.NET y una versión de ODAC 12 que será mucho más pequeña. Esto se lanzará en OTN en breve.
Si puede esperar un par de días, ODAC 12c estará disponible en OTN y podrá descargar esa versión. Esa será nuestra última y mejor versión administrada de ODP.NET
====
No planeamos poner ODP.NET administrado en NuGet. Creemos que la descarga administrada de ODP.NET con ODAC brindará los mismos beneficios que NuGet en términos de aislamiento de ensamblado y tamaño de descarga.
Hay un hilo que discute si Oracle debería proporcionar soporte de ManagedODP.NET NuGet. Una vez que use ODAC 12c, me gustaría saber su opinión sobre si la compatibilidad con NuGet sigue siendo necesaria. https://forums.oracle.com/thread/2559445
ODP.NET gestionado por Nuget:
PM> Install-Package Oracle.ManagedDataAccess
Entonces, ¿cuál es el problema de todos modos?
Básicamente hasta ahora, ODP.NET era una capa .NET que se comunica con los archivos .dll del cliente de Oracle, un pequeño hecho que tenía muchas implicaciones:
- Gran espacio de instalación (varios cientos de Mb)
- Implementación difícil en máquinas remotas:necesita instalar ODP.NET en la máquina cliente o implementar archivos grandes
- Desafiante cuando se trabaja con varias versiones, sistemas operativos de 32 bits/64 bits y aplicaciones
Entonces, ¿qué es?
El controlador administrado es básicamente un solo archivo .dll con una implementación nativa de .Net de ODP.NET.
Eso significa que no se necesita un cliente de Oracle, y ahora el código nativo está detrás de escena. La instalación de XCopy se puede hacer fácilmente.
Principales beneficios:
- Pequeño espacio
- Compilado como cualquier CPU para que pueda funcionar en sistemas operativos y aplicaciones de 32 bits/64 bits sin problemas. Fácil de administrar múltiples versiones en la misma máquina
- Se puede implementar como una referencia simple en el directorio applicationbin.
Entonces, ¿cuál es el problema?
- No todas las funciones son compatibles (aunque la mayoría de ellas lo son...) puede obtener más información en la documentación
- El espacio de nombres se cambia de Oracle.DataAccess.Client a Oracle.ManagedDataAccess.Client
- Las diferencias de rendimiento aún no están claras. El código nativo (antiguo) siempre funciona de manera muy eficiente, pero por otro lado, el código administrado al 100% tiene sus beneficios de rendimiento.
Tenga en cuenta que Native-Code ODP.NET todavía está disponible. La versión administrada (al menos por ahora) se suma a la nativa.
Referencias:http://oracleatdotnet.blogspot.com.es/2013/07/odpnet-managed-driver-beta-2.html
Diferencias entre el controlador administrado y el controlador no administrado de ODP.NET http://docs.oracle.com/html/E41125_02/intro004.htm
Características de Oracle Data Provider para .NET http://docs.oracle.com/database/121/ODPNT/features.htm#ODPNT0007