visual studio odp net framework for data 11g .net oracle odp.net oracleclient

studio - ¿ODP.NET requiere la instalación de Oracle Client?



oracle data access for visual studio 2017 (6)

Alex Keh de Oracle en agosto de 2013 dice:

Managed ODP.NET es lanzado. Actualmente es parte del cliente Oracle DB 12c. Para utilizar ODP.NET administrado, debe descargar e instalar el cliente de base de datos. A partir de ahí, puede extraer solo los archivos de ensamblaje y configuración de ODP.NET administrados. Estos archivos tienen menos de 10 MB y se pueden implementar en cualquier equipo objetivo.

Actualmente, estamos empaquetando una versión de ODP.NET administrada independiente y una versión de ODAC 12 que será mucho más pequeña. Esto será lanzado en OTN en breve.

Si puede esperar un par de días, ODAC 12c estará fuera en OTN y puede descargar esa versión. Esa será nuestra última y mejor versión ODP.NET administrada

====

No planeamos colocar 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 ensamblaje y tamaño de descarga.

Hay un hilo que discute si Oracle debe proporcionar soporte gestionado ODP.NET NuGet. Una vez que use ODAC 12c, me gustaría saber su opinión sobre si el soporte NuGet es aún necesario. https://forums.oracle.com/thread/2559445

Nuget manejó ODP.NET :

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 hablaba con los archivos .dll del cliente de Oracle, un hecho pequeño que tenía muchas implicaciones:

  • Gran huella de instalación (varios cientos de Mb)
  • Difícil implementación en máquinas remotas: necesita instalar ODP.NET en la máquina cliente o desplegar archivos de gran tamaño
  • Difícil cuando se trabaja con varias versiones, sistemas operativos de 32 bits / 64 bits y aplicaciones

¿Así que qué es lo?

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 Oracle Client, y ahora el código nativo está detrás de escena. La instalación de XCopy se puede hacer fácilmente.

Beneficios principales:

  • Pequeña huella de pie
  • Compilado como cualquier CPU para que pueda funcionar sin problemas en sistemas operativos de 32 bits / 64 bits. Fácil de administrar múltiples versiones en la misma máquina
  • Se puede implementar como una referencia simple en el directorio bin de la aplicación.

Entonces, ¿cuál es el truco?

  • No todas las características son compatibles (aunque la mayoría de ellas son ...) puede encontrar más información sobre la documentation
  • 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 antiguo) código nativo siempre funciona de manera muy eficiente, pero por otro lado 100% código administrado tiene sus beneficios de rendimiento.

Tenga en cuenta que Native-Code ODP.NET aún está disponible. La versión administrada (al menos por ahora) viene en adición a la versión nativa.

Referencias: http://oracleatdotnet.blogspot.com.es/2013/07/odpnet-managed-driver-beta-2.html

Diferencias entre el controlador administrado ODP.NET y el controlador no administrado 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

Tengo que conectar Oracle 11g DB desde el código .NET. Para tal fin instalé ODP.NET después de leer algunas publicaciones en el foro. Reconocí que también necesito la instalación de Oracle Client.

¿Es eso cierto? Veo que Oracle Client tiene un tamaño de ca. 2GB !!! ¿Realmente necesito instalar un cliente tan grande solo para poder conectar Oracle DB?



ODP.NET requiere archivos DLL OCI nativos (~ 130 MB).

Probablemente la forma más fácil de obtener todos los archivos necesarios es descargar los "Componentes de acceso a datos de Oracle con implementación de XCopy" de oracle.com.

Para su referencia, ODP.NET utiliza los siguientes archivos DLL en tiempo de ejecución:

oci.dll Oracle.DataAccess.dll (the managed ODP.NET assembly itself) orannzsbb11.dll oraociei11.dll OraOps11w.dll

Por cierto, tendrá que tener cuidado ya sea que esté utilizando archivos DLL nativos de 32 bits o de 64 bits; debe hacer coincidirlos con la "bitness" de su código administrado. Esto es especialmente complicado si está compilando para "Cualquier CPU", por lo que el bitness no es fijo.



puede obtener ODP.NET administrado usando NuGet también https://www.nuget.org/packages/odp.net.managed/

PM> Install-Package odp.net.managed

¡Mire el video de inicio rápido sobre el uso del controlador administrado ODP.NET! (copiado de http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html )

http://www.youtube.com/watch?feature=player_embedded&v=I1q50HnUh_w

Actualizar:

NuGet para Oracle oficial ODP.NET, controlador administrado https://www.nuget.org/packages/Oracle.ManagedDataAccess/

O la consola del Administrador de paquetes

PM> Install-Package Oracle.ManagedDataAccess


Dejo esta respuesta porque con el lanzamiento del controlador administrado ODP.net, las viejas respuestas están un poco obsoletas ahora.

El controlador administrado de ODP.net se lanza ahora.

La versión actualmente disponible ODAC 12cR2 es compatible con versiones anteriores de Oracle 10gR2 o posterior. Consulte la sección Requisitos del sistema de las Instrucciones de instalación de ODAC 12cR2 . ODAC 12cR2 requiere / admite .Net frameworks desde la versión 4 a la 4.5.1.

La versión anterior ODAC 12cR1 también es compatible con versiones anteriores de Oracle 10gR2 o posterior de acuerdo con sus instrucciones de instalación .