visual studio odp net for dataaccess data oracle odp.net

studio - Controlador administrado por Oracle ODP.net vs controlador no administrado



oracle dataaccess dll 2.112 2.0 download (5)

Aquí hay un gotcha para todos ustedes amigos. Me llevó un par de semanas descubrir por qué los controladores administrados de Oracle no se conectaban con ef6. Si su base de datos tiene los siguientes algoritmos de integridad de datos, ¡DEBE usar los controladores no administrados!

enterrado en la documentación del oráculo !!! GRACIAS ORACLE !!!!!

¿Hay algún punto de referencia de rendimiento entre los controladores administrados y no administrados de Oracle ODP.Net?

(es decir, ¿hay alguna ventaja para moverse al controlador administrado que no sea la simplicidad arquitectónica / de implementación)?


La implementación más sencilla y la independencia de bitness son realmente buenos beneficios, pero más bien debería evaluar el uso típico del controlador a fondo. Me enfrenté a casi un 50% de discapacidad de rendimiento cuando uso el nuevo controlador administrado en procesos de 64 bits. Otras personas están informando filtraciones de memoria, etc. en el foro de Oracle: https://forums.oracle.com/community/developer/english/oracle_database/windows_and_.net/odp.net . Parece que es una especie de producto típico con fallas de Oracle que necesita algunos meses / años más para tranquilizarse: /


Me gustaría compartir algunos resultados. Creo que vale la pena la pequeña falta de rendimiento en comparación con la facilidad de implementación.

Nota: seg significa segundos. Lo siento por eso.

Por supuesto, se trata de una prueba simple, y hay varios temas que no se tratan como grupo de conexiones, estabilidad, fiabilidad, etc.

Es importante mencionar que los escenarios se ejecutaron 100 veces. Entonces, las cantidades de tiempo son el promedio de esas 100 ejecuciones.


Tenga en cuenta que los tipos personalizados aún no son compatibles. Esta podría ser una razón para no cambiar al controlador administrado.

Consulte este documento de Oracle para conocer las diferencias entre la versión administrada y la no gestionada:

http://docs.oracle.com/cd/E16655_01/win.121/e17732/intro004.htm


Viñetas del video de inicio rápido :

  • Menos archivos (1 o 2 dlls como máximo)
  • Huella más pequeña (10 MB en comparación con 200 MB)
  • Más fácil implementación paralela
  • El mismo ensamblaje para 32 y 64 bits (excepto para el segundo ensamblaje de MTS).
  • Código de acceso de seguridad

No estoy seguro sobre el rendimiento, pero dudo que sea diferente en ambos sentidos. Supongo que los dos controladores se comunican de manera idéntica a través de "Oracle Net". Si bien puede haber diferencias menores en las operaciones del lado del cliente en memoria realizadas para preparar un comando y procesar los resultados, esta sobrecarga generalmente solo representa una fracción del tiempo relativo a la transacción completa. La mayor parte del costo / tiempo se gasta en el servidor en IO físico y la transferencia de los datos al cliente. Esto simplemente no es lo mismo que ir desde el proveedor de oledb o el controlador System.DataAccess.OracleClient. Este es otro lanzamiento de la misma compañía RDBMS: van a explotar todos los mismos trucos de rendimiento que usó su otro cliente. Desearía poder publicar un estudio, pero supongo que tal cosa no existe porque al final no sería notable. Un caso sin noticias es una buena noticia: si el nuevo proveedor fuera de alguna manera peor, estaría leyendo sobre ello.

La simplicidad es motivo suficiente para cambiar a esta IMO. La gran mayoría de los desarrolladores y administradores no entienden completamente al proveedor y su relación con el cliente no administrado. La confusión acerca de la preferencia de inicio del oráculo, la falta de coincidencia de la versión, las actualizaciones, etc. aparece constantemente. Eliminar estas preguntas sería un cambio bienvenido.