2010-05-24 12 views
15

Cuando desarrolla una aplicación Java que habla con Oracle DB, hay 2 opciones ¿no? Uno es un controlador delgado de Oracle y el otro es un controlador OCI que requiere su propia instalación (corrija si no lo entiendo bien).Controlador delgado de Oracle contra el controlador OCI. ¿Pros y contras?

Ahora, ¿cuáles son los pros y contras? Obviamente, el controlador delgado suena mucho mejor en términos de instalación, pero ¿hay algo que OCI puede y el delgado no puede?

Desarrollar medio ambiente es Tomcat6 + Spring 3.0 + JPA (Hibernate) + apache-DBCP

Respuesta

5

La elección del conductor depende de varios factores. La naturaleza de sus llamadas a la base de datos (por ejemplo, parece que su aplicación no utilizará muchas llamadas de proceso almacenadas), los requisitos para la conmutación por error (por ejemplo, los servidores de Oracle en clúster) y las transacciones distribuidas. En general, se recomienda utilizar el controlador delgado, pero si hay alguna característica específica del controlador OCI que deba tener, es posible que deba considerar el controlador OCI. También se ha dicho que los controladores en Oracle 10 y superiores tienen capacidades de coincidencia y prácticamente no hay diferencia de rendimiento en las JVM modernas.

4

A menos que tenga una dependencia en una característica que solo está disponible en el controlador JDBC-OCI y no en el controlador JDBC-thin, la recomendación de Oracle es usar thin. Las características más recientes de Oracle Database, como Transaction Guard o Application Continuity, solo están disponibles en el controlador JDBC-thin. El controlador delgado también es más utilizado que el controlador JDBC-OCI, por lo que los errores se solucionarán más rápidamente. Se considera como más estable. Si todavía no está convencido, piense que Oracle Weblogic Server solo se envía con el controlador JDBC-thin.